Pose acquisition method, device, and storage medium
By acquiring point cloud information of the target object using lidar and locating it based on its features, the high requirements for lighting and computing power in existing technologies are solved, enabling more precise target object positioning and handling.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- ZHEJIANG HUARAY TECH CO LTD
- Filing Date
- 2023-05-24
- Publication Date
- 2026-07-03
AI Technical Summary
Existing technologies require high levels of lighting conditions and computing power when robots locate target objects, resulting in inaccurate positioning.
By using LiDAR to acquire multiple point cloud information of the target object, positioning is performed based on the feature of the point cloud, and different positioning methods are used for different parts to determine the pose information of the target object relative to the carrier device.
It reduces the requirements for lighting and computing power, and improves the accuracy and precision of positioning, especially in mobile robot tasks, enabling more accurate handling of target objects.
Smart Images

Figure CN116794629B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of computer technology, and in particular to a pose acquisition method, device, and storage medium. Background Technology
[0002] In recent years, mobile robots have been widely used in various fields such as inspection, logistics, and security, greatly saving manpower and resources and improving the efficiency of industrial production. When robots perform tasks such as cargo handling, they need to accurately estimate the position and orientation of the target. By identifying and locating the target, the robot can accurately acquire the target and move it to the designated location. Currently, the common method for target localization is to use images of the target and locate the target based on the image information. However, this method not only requires high lighting conditions in the scene but also high computing power. Summary of the Invention
[0003] This application provides at least one pose acquisition method, device, and storage medium.
[0004] This application provides a pose acquisition method, comprising: acquiring relevant information of multiple target point clouds obtained by a lidar on a carrier device scanning a target object, wherein the target object includes several parts; determining the parts to which the multiple target point clouds belong on the target object based on the relevant information of the multiple target point clouds; and determining the pose information of the target object relative to the carrier device using a positioning method corresponding to the parts and relevant information of at least some of the target point clouds, wherein different positioning methods correspond to different parts.
[0005] This application provides a pose acquisition device, including: an acquisition module, a determination module, and a positioning module; the acquisition module is used to acquire relevant information of multiple target point clouds obtained by a lidar on a carrier device scanning a target object, the target object including several parts; the determination module is used to determine the parts to which the multiple target point clouds belong on the target object based on the relevant information of the multiple target point clouds; the positioning module is used to determine the pose information of the target object relative to the carrier device using a positioning method corresponding to the part and relevant information of at least some of the target point clouds, the positioning method corresponding to different parts being different.
[0006] This application provides an electronic device, including a memory and a processor, wherein the processor is used to execute program instructions stored in the memory to implement the above-described pose acquisition method.
[0007] This application provides a computer-readable storage medium storing program instructions thereon, which, when executed by a processor, implement the above-described pose acquisition method.
[0008] The above-described scheme uses a lidar on the carrier device to scan the target object and obtain multiple point clouds of the target object. Then, the target object is located based on these point clouds. Compared with locating the target object through image information, this method has lower requirements for lighting and computing power. In addition, by classifying the parts to which the multiple point clouds belong, and then using the location method corresponding to the parts and at least some point clouds to obtain the pose information of the target object relative to the carrier device, the obtained pose information is more accurate than using a single location method to obtain the pose information of the target object relative to the carrier device.
[0009] It should be understood that the above general description and the following detailed description are exemplary and explanatory only, and are not intended to limit this application. Attached Figure Description
[0010] The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with this application and, together with the specification, serve to explain the technical solutions of this application.
[0011] Figure 1 This is a flowchart illustrating an embodiment of the pose acquisition method of this application;
[0012] Figure 2 This is a schematic diagram of the loading of a target object on a loading device, illustrating an embodiment of the pose acquisition method of this application;
[0013] Figure 3 This is a flowchart illustrating another embodiment of the pose acquisition method of this application;
[0014] Figure 4 This is a schematic diagram of the structure of an embodiment of the pose acquisition device of this application;
[0015] Figure 5 This is a schematic diagram of the structure of an embodiment of the electronic device of this application;
[0016] Figure 6 This is a schematic diagram of the structure of an embodiment of the computer-readable storage medium of this application. Detailed Implementation
[0017] The embodiments of this application will now be described in detail with reference to the accompanying drawings.
[0018] In the following description, specific details such as particular system architectures, interfaces, and technologies are presented for illustrative purposes rather than for limiting purposes, in order to provide a thorough understanding of this application.
[0019] In this document, the term "and / or" is merely a description of the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A existing alone, A and B existing simultaneously, and B existing alone. Additionally, the character " / " generally indicates that the preceding and following related objects have an "or" relationship. Furthermore, "many" in this document means two or more. Moreover, the term "at least one" in this document means any combination of at least two of any one or more of a plurality of objects. For example, including at least one of A, B, and C can mean including any one or more elements selected from the set consisting of A, B, and C.
[0020] In this application, the entity executing the pose acquisition method described herein can be a pose acquisition device. For example, the pose acquisition device can be a terminal device, a server, or other processing device. The terminal device can be a carrier device, a mobile robot, user equipment (UE), a user terminal, a terminal, a cellular phone, a cordless phone, a personal digital assistant (PDA), a handheld device, a computing device, an in-vehicle device, a wearable device, etc. In some possible implementations, the pose acquisition method can be implemented by a processor calling computer-readable instructions stored in memory.
[0021] Please see Figure 1 , Figure 1 This is a flowchart illustrating an embodiment of the pose acquisition method of this application.
[0022] like Figure 1 As shown, the pose acquisition method provided in this embodiment may include the following steps:
[0023] Step S11: Obtain relevant information of multiple target point clouds obtained by the lidar on the carrier device scanning the target object.
[0024] In this embodiment, the pose acquisition method uses a carrier device as the execution device. In other embodiments, the execution device can also be a terminal device that establishes a communication connection with the carrier device. LiDAR refers to a two-dimensional LiDAR, but it can also be a three-dimensional LiDAR. To better reduce computing power, this application uses a two-dimensional LiDAR as an example. LiDAR can detect the position, velocity, and other characteristics of a target by emitting a laser beam. Since the LiDAR is a two-dimensional LiDAR, the obtained target point cloud is a two-dimensional point cloud. The relevant information of the target point cloud can include the position information of the obtained target point cloud, etc. The target object includes several parts. Several can refer to two or more parts.
[0025] Step S12: Based on the relevant information of multiple target point clouds, determine the location of the multiple target point clouds on the target object.
[0026] Generally speaking, different parts may have structural differences, and the point clouds obtained from scanning a part will also be different. Specifically, the part to which a part belongs can be determined based on the distribution pattern of the point clouds obtained from the scan.
[0027] Step S13: Using the positioning method corresponding to the part and relevant information of at least part of the target point cloud, determine the pose information of the target object relative to the carrier device.
[0028] The localization methods differ for different parts. At least some parts can be fully localized or only partially localized. As mentioned above, different parts may have structural differences, leading to variations in the distribution of point clouds obtained from scanning those parts. By determining different localization methods for different parts, the impact of different point cloud distributions on localization can be fully considered, resulting in more accurate determination of the target object's pose.
[0029] The above-described scheme uses a lidar on the carrier device to scan the target object and obtain multiple point clouds of the target object. Then, the target object is located based on these point clouds. Compared with locating the target object through image information, this method has lower requirements for lighting and computing power. In addition, by classifying the parts to which the multiple point clouds belong, and then using the location method corresponding to the parts and at least some point clouds to obtain the pose information of the target object relative to the carrier device, the obtained pose information is more accurate than using a single location method to obtain the pose information of the target object relative to the carrier device.
[0030] In some embodiments, the relevant information of the target point cloud includes the position of the target point cloud in the first coordinate system of the lidar. For example, please also refer to... Figure 2 , Figure 2 This is a schematic diagram illustrating the loading of a target object on a loading device, as shown in an embodiment of the pose acquisition method of this application. Figure 2 As shown, the loading device 1 is loaded with the target object 2, and the loading device 1 is also equipped with a lidar 10. Figure 2In this diagram, the standard loading position of target object 2 on loading device 1 is represented by a dashed box, while the actual loading position of target object 2 on loading device 1 is represented by a solid box. In many cases, due to various reasons, there is a difference between the actual loading position and the standard loading position of target object 2 on loading device 1. Therefore, the positional relationship between the standard loading position and the lidar 10 cannot be directly used to determine the pose of target object 2 in the world coordinate system. The first coordinate system is a coordinate system with l0 as the origin, and the second coordinate system is a coordinate system with n0 as the origin. The subscript x represents the x-axis, and the subscript y represents the y-axis. Each coordinate system is a Cartesian coordinate system.
[0031] Specifically, step S11 may include the following steps: acquiring several initial point clouds obtained from LiDAR scanning; then, determining the position of each initial point cloud in the first coordinate system using the distance between each initial point cloud and the origin of the first coordinate system, as well as the minimum angle and angle increment of the LiDAR; next, filtering the initial point clouds according to their positions in the first coordinate system to obtain the target point cloud and its related information obtained from scanning the target object.
[0032] The minimum angle of the lidar can specifically refer to the minimum angle at which the initial point cloud is scanned. For example, if the lidar's scanning range is 0-360°, and the first initial point cloud is scanned at 20°, then the minimum angle of the lidar is 20°. Angle increment is a common concept in lidar, used to determine the lidar's resolution. For example, if the angle increment is 0.25, then the lidar's resolution is 360*(1 / 0.25). The method for determining the position of each initial point cloud in the first coordinate system can be found in formulas (1) and (2), where formula (1) is used to determine the abscissa p of the initial point cloud in the first coordinate system. i (x), Formula (2) is used to determine the ordinate p of the initial point cloud in the first coordinate system. i (y).
[0033] p i (x)=r i *cos(angle min +i*angle increase ) formula (1);
[0034] p i (y)=r i *sin(angle min +i*angle increase ) formula (2);
[0035] Where, r i The angle represents the distance between the initial point cloud i and the origin of the first coordinate system. min Angle represents the minimum angle.increase Let i represent the angle component, and i be a hyperparameter. Optionally, the initial parameters can be stored sequentially in the initial point cloud set {P} according to their scanning angles.
[0036] Optionally, the target object is a shelf supported by a carrying device. The method described above for filtering the initial point clouds according to their positions in the first coordinate system to obtain the target point cloud and its related information obtained from scanning the target object can be as follows: Obtain the preset first dimension information of the shelf, the second dimension information of the carrying area on the carrying device used to support the shelf, and the standard distance between the shelf at its standard carrying position in the carrying area and the origin of the first coordinate system. Then, based on the first dimension information, the second dimension information, and the standard distance, determine the possible carrying positions of the shelf within the carrying area. Finally, filter the initial point clouds according to the possible carrying positions to obtain the target point cloud.
[0037] The first dimension information of the shelving includes length and width, with the length direction along the y-axis and the width direction along the x-axis. The second dimension information also includes length and width, with the length of the load-bearing area along the y-axis and the width direction along the x-axis. Standard distance can be specifically understood as... Figure 2 The distance between the origin m0 and the origin l0. The possible bearing positions can be those with x-coordinates satisfying -2*d < p. i (x) < 0, and the ordinate satisfies 0.5*w a <abs(p i (y))<0.8*w P Among them, -2, 0.5, and 0.8 can be set according to requirements. Different parameter settings may result in different load-bearing positions. For example, the length and width of the shelf are l P w P The width of the bearing area is w a The method for filtering each initial point cloud according to its potential carrying location can be referred to formula (3):
[0038]
[0039] Where {Q} represents the set of point clouds retained after filtering. i (x), p i (y) represent point p i The x-axis and y-axis coordinates in the first coordinate system.
[0040] In some embodiments, the process of filtering initial point clouds according to possible carrying locations to obtain target point clouds may further include the following steps: clustering the initial point clouds located at possible carrying locations to obtain several clusters. Then, retaining clusters containing a number of candidate point clouds greater than or equal to a preset number, and merging the retained clusters into a candidate point cloud set. Next, in response to the difference between the distance between the point cloud with the largest scanning angle and the point cloud with the smallest scanning angle in the candidate point cloud set and the first size information of the shelf being less than or equal to a preset difference, the point clouds in the candidate point cloud set are determined to be target point clouds.
[0041] Specifically, the method for clustering the initial point cloud at potential carrying locations to obtain several clusters can be to traverse the point cloud set sequentially or in other ways, calculate the distance between two adjacent points, and if the distance between two points is less than a set threshold d... set If these two points belong to the same type of point cloud, they should be stored in the same set {S}. i In the context of point clouds, if the distance between two points is greater than a set threshold, then these two points belong to different point cloud classes, and a new set is created to store subsequent point clouds.
[0042]
[0043] in p i and p i+1 The Euclidean distance between them, p i p i+1 The points are in the set {Q}. After traversal, the class with fewer points is removed, and the remaining point cloud sets are merged to obtain the candidate point cloud set {T}.
[0044] Specifically, based on the scanning angle of the laser points, the minimum scanning angle in the candidate point cloud set {T} is the minimum angle at which the candidate point cloud is scanned, and the maximum scanning angle in the candidate point cloud set is the maximum angle at which the candidate point cloud is scanned. The point p with the maximum scanning angle... angle_max and the point p with the smallest scanning angle angle_min The distance between the two points is d bet Based on the distance d between the two points bet Determine whether it belongs to the shelf point cloud:
[0045] ||d bet -l P || <d tol {T} is the shelf point cloud.
[0046] ||d bet -l P ||≥d tol {T} is not a shelf point cloud;
[0047] Where, dtol The threshold representing the acceptable difference between the test result and the shelf length.
[0048] In some embodiments, step S12 may include the following steps: determining the shapes corresponding to the multiple target point clouds based on relevant information of the multiple target point clouds. Then, using the shapes corresponding to the multiple target point clouds, determining the location to which the multiple target point clouds belong. As mentioned above, point clouds obtained from scanning different locations will present different shapes, so by judging the shape presented by the target point cloud, it is possible to determine which location the target point cloud was scanned from.
[0049] The shapes corresponding to multiple target point clouds include straight lines. The target object is a shelf supported by a carrying device, and the parts include shelves. Relevant information about the target point clouds includes their positions. Specifically, the position of the target point clouds can be their positions in a first coordinate system. Based on this, the method for determining the shapes corresponding to multiple target point clouds based on their relevant information can be as follows: Divide the multiple target point clouds into two regions, each region containing several target point clouds. Then, use a preset principal component analysis method to determine the minimum eigenvalue, maximum eigenvalue, and eigenvalue vectors corresponding to the target point clouds in each region. And in response to the fact that the ratio between the minimum and maximum eigenvalues of the target point clouds in each region is less than or equal to a preset ratio, the shape corresponding to the multiple target point clouds is determined to be a straight line.
[0050] For example, multiple target point clouds can be divided into two regions based on the quadrants of the first coordinate system. The point clouds in the first and second quadrants are denoted as {T}. up The point clouds in the third and fourth quadrants are denoted as {T}. down The default principal component analysis method can be the PCA (principal component analysis) algorithm. Let {T} up For example, calculate {T} up λ, the eigenvalues of} up1 , λ up2 and its corresponding eigenvector α up1 α up2 , where λ up1 λ is the smallest eigenvalue. up2 If λ is the largest eigenvalue, then... up1 / λ up2 If it is less than the set threshold, then {T} up} is a straight line, otherwise {T up} is not a straight line. If {T} up} and {T down If one of the point cloud sets {T} does not satisfy this condition, then multiple point cloud sets {T} are considered not to be straight lines.
[0051] In some embodiments, before determining the minimum eigenvalue, maximum eigenvalue, and eigenvalue vectors corresponding to the target point cloud in each region using a preset principal component analysis method, the following steps may be performed first: determining the two second endpoints in each region. Then, for each region, in response to the condition that the distance between the two second endpoints in the region is greater than or equal to the preset shortest straight distance and the width of the two second endpoints in the width direction of the target object is less than or equal to the preset maximum straight width, the step of determining the minimum eigenvalue, maximum eigenvalue, and eigenvalue vectors corresponding to the target point cloud in each region using a preset principal component analysis method is determined.
[0052] One method to determine the two second endpoints in each region is to extract {T} using angles. up The endpoint p of} up1 p up2 and {T down The endpoint p of} down1 p down2 That is, the point with the smallest scanning angle and the point with the largest scanning angle in each region are taken as the second endpoints. The method for obtaining the length and width between the two second endpoints in each region can be found in formulas (4)-(7):
[0053] d up (x)=abs(p up1 (x)-p up2 Formula (4);
[0054] d up (y)=abs(p up1 (y)-p up2 (y)) Formula (5);
[0055] d down (x)=abs(p down1 (x)-p down2 Formula (6);
[0056] d down (y)=abs(p down1 (y)-p down2 (y)) Formula (7);
[0057] Where, d up (x), d up (y) respectively represent {T up The width and length of}; d down (x), d down (y) respectively represent {T down The width and length of the target object. Specifically, the width of the two second endpoints in the width direction of the target object is less than or equal to the preset maximum width of the straight line, d.up (x) is less than or equal to the preset maximum line width, which can be customized by the user and is not specifically limited here.
[0058] Optionally, for each region, in response to the distance between two second endpoints within the region being less than a preset shortest straight distance or the width of the two second endpoints in the width direction of the target object being greater than a preset maximum straight width, it is determined whether the width of the two second endpoints in the width direction of the target object and the length direction of the target object in both regions are less than or equal to a preset width threshold. And in response to the width of the two second endpoints in the width direction of the target object and the length direction of the target object in both regions being less than or equal to the preset width threshold, the shape corresponding to the multiple target point clouds is determined as a local region.
[0059] Following the previous example, with {T up For example, the width of the two second endpoints within each region in the width direction and the length direction of the target object are both less than or equal to a preset width threshold, specifically d. up (x), d up (y) is less than the preset width threshold, which can be set according to the width of the pillar. If both endpoints in two regions meet this condition, the shape corresponding to multiple target point clouds is determined to be a local region. If one of the regions does not meet this condition, the detection is determined to have failed.
[0060] In some embodiments, determining the location of multiple target point clouds by utilizing their corresponding shapes includes the following steps: determining the layer corresponding to the straight line as the location of the target point cloud; and determining the pillar corresponding to the local area as the location of the target point cloud.
[0061] In some embodiments, the target object described above may be a shelf supported by a carrying device, and the parts include shelves and supports. Step S13 may include the following steps: In response to multiple target point clouds belonging to shelves of a shelf, using N target point clouds including two first endpoints, determine the pose information of the target object relative to the carrying device, where N is greater than 2. Alternatively, in response to multiple target point clouds belonging to supports of a shelf, use two first endpoints from the multiple target point clouds to determine the pose information of the target object relative to the carrying device.
[0062] The N target point clouds, including two first endpoints, can include two first endpoints and at least one intermediate point. Optionally, the position of the target point cloud includes its coordinates in the first coordinate system where the lidar is located, and the pose information includes the positional relationship between the second coordinate system and the first coordinate system where the target object is located. The above steps, utilizing N target point clouds including two first endpoints, to determine the pose information of the target object relative to the carrier device, can be as follows: Obtain the positions of two first endpoints in the first coordinate system from the multiple target point clouds. Based on the positions of the two first endpoints in the first coordinate system and the positional relationship between the two first endpoints and the origin of the second coordinate system, determine the position of the origin of the second coordinate system in the first coordinate system. Perform line fitting on the multiple target point clouds to obtain a first straight line. The line fitting can be performed by reducing the dimensionality of the multiple target point clouds, where the dimensionality-reduced first straight line is parallel to a preset axis of the second coordinate system. Based on the position of the first straight line in the first coordinate system, obtain the angle between the preset axis of the second coordinate system and the preset axis of the first coordinate system.
[0063] The two first endpoints can be the point p with the largest scanning angle. angle_max and the point p with the smallest scanning angle angle_min Based on the positions of the two first endpoints in the first coordinate system and the positional relationship between the two first endpoints and the origin of the second coordinate system, the position of the origin of the second coordinate system in the first coordinate system can be determined by referring to formulas (8)-(9):
[0064]
[0065]
[0066] in, Let x be the x-coordinate of the origin in the first coordinate system. The ordinate of the origin in the first coordinate system is given by the coordinate system.
[0067] The above-mentioned method for dimensionality reduction of multiple target point clouds can be as follows: Dimensionality reduction of multiple target point clouds is performed using a preset principal component analysis method, and the line corresponding to the minimum eigenvalue is taken as the first line. Specifically, the eigenvalues λ1 and λ2 of {T} and their corresponding eigenvectors α1 and α2 are calculated using the PCA algorithm, where λ1 is the minimum eigenvalue and λ2 is the maximum eigenvalue. The line corresponding to λ1 is taken as the first line, and α1 can be considered as the eigenvector of the first line. Based on this, the above-mentioned method for obtaining the angle between the preset axis of the second coordinate system and the preset axis of the first coordinate system based on the position of the first line in the first coordinate system can be as follows: The angle is determined based on the eigenvector corresponding to the minimum eigenvalue. For example, the method for determining the angle based on the eigenvector corresponding to the minimum eigenvalue can refer to formula (10):
[0068] θ=tan(α1(1) / α1(0)) Formula (10);
[0069] Among them, the feature vector is a two-dimensional vector, α1 can be regarded as the first-dimensional feature vector of the first line, and α0 can be regarded as the zero-dimensional feature vector of the first line.
[0070] In some embodiments, the position of the target point cloud includes the coordinates of the target point cloud in the first coordinate system where the lidar is located. Pose information includes the positional relationship between the second coordinate system and the first coordinate system where the target object is located. The method described above for determining the pose information of the target object relative to the carrying device using two first endpoints from multiple target point clouds can be as follows: Obtain the positions of two first endpoints from multiple target point clouds in the first coordinate system. Based on the positions of the two first endpoints in the first coordinate system and the positional relationship between the two first endpoints and the origin of the second coordinate system, determine the position of the origin of the second coordinate system in the first coordinate system. Based on the position of the second straight line where the two first endpoints are located in the first coordinate system, obtain the angle between a preset axis of the second coordinate system and a preset axis of the first coordinate system. The second straight line is parallel to the preset axis of the second coordinate system.
[0071] The method for determining the position of the origin of the second coordinate system in the first coordinate system based on the positions of the two first endpoints in the first coordinate system and the positional relationship between the two first endpoints and the origin of the second coordinate system can be referred to the above, and will not be repeated here.
[0072] The method for obtaining the angle θ between the preset axis of the second coordinate system and the preset axis of the first coordinate system based on the position of the second straight line where the two first endpoints are located in the first coordinate system can be referred to formula (11):
[0073]
[0074] In some embodiments, the shelf position deviation (dx, dy) is calculated based on the standard load position of the shelf in the load-bearing area and the actual load position of the shelf, thereby obtaining the shelf deviation (dx, dy, θ). For example, the shelf position deviation (dx, dy) can be obtained by the difference between the pre-stored origin m0 corresponding to the standard load position and the origin n0 corresponding to the actual load position, and the final shelf deviation (dx, dy, θ) can be obtained based on the angle θ obtained above.
[0075] Optionally, an adjustment device on the load-bearing equipment can be used to adjust the rack from its actual load-bearing position to a standard load-bearing position based on the deviation. The adjustment device can be a robotic arm or a rotary table located in the load-bearing area, which adjusts the load-bearing position of the rack in the load-bearing area by rotating and moving.
[0076] Optionally, after the carrying equipment moves to the target location, it can place the shelf in the correct position based on the shelf deviation, thereby reducing the problem of irregularly placing the shelf in the target location.
[0077] The above-described scheme uses a lidar on the carrier device to scan the target object and obtain multiple point clouds of the target object. Then, the target object is located based on these point clouds. Compared with locating the target object through image information, this method has lower requirements for lighting and computing power. In addition, by classifying the parts to which the multiple point clouds belong, and then using the location method corresponding to the parts and at least some point clouds to obtain the pose information of the target object relative to the carrier device, the obtained pose information is more accurate than using a single location method to obtain the pose information of the target object relative to the carrier device.
[0078] The point cloud scanned by LiDAR determines the location of the scanned shelf, and different pose estimation methods are used for different situations: if the scanned part is a shelf panel, a straight line fitting is used to estimate the angle; if the scanned part is a shelf support, the endpoint is used to estimate the angle. This distinction improves the accuracy of shelf pose estimation.
[0079] In addition, by clustering the point cloud, noise in the point cloud is removed, reducing the interference of the environment on the recognition algorithm.
[0080] Furthermore, using two-dimensional LiDAR for shelf identification and detection offers higher accuracy, less susceptibility to external environmental interference, and lower processing power requirements compared to cameras and Time-of-Flight (ToF) sensors. Since this proposal employs guided laser detection, it avoids the need for additional sensors, saving costs and reducing the impact of sensor calibration errors on detection accuracy.
[0081] This proposal presents a pose estimation algorithm for shelving during transport, capable of estimating the deviation of the shelving from the vehicle body in real time. This assists the robot in more accurately moving the shelving to the designated position, eliminating errors generated when the robot retrieves the shelving, and is suitable for tasks such as high-precision robot docking. Furthermore, this proposal utilizes point cloud clustering and segmentation to better eliminate environmental interference with the recognition algorithm, thereby improving detection accuracy.
[0082] To better understand the technical solution provided in this embodiment, please refer to... Figure 3 , Figure 3 This is a flowchart illustrating another embodiment of the pose acquisition method of this application. Figure 3 As shown, this embodiment may further include the following steps:
[0083] Step S21: Obtain several initial point clouds obtained from lidar scanning.
[0084] For specific acquisition methods, please refer to the above; they will not be repeated here.
[0085] Step S22: Filter the initial point cloud according to the dimensions of the shelf and the vehicle body.
[0086] The supporting equipment is the vehicle body, and the target object is the shelf. For example, the method of filtering the initial point cloud based on the dimensions of the shelf and the vehicle body can refer to the above formula (3).
[0087] Step S23: Cluster the filtered point cloud and remove outliers.
[0088] Clustering can be performed by traversing the point cloud set sequentially or in other ways, calculating the distance between two adjacent points, and then determining if the distance between two points is less than a set threshold d. set If these two points belong to the same type of point cloud, they should be stored in the same set {S}. i}middle.
[0089] Step S24: Extract the edge of the point cloud and calculate the distance d between the edge points.
[0090] Based on the scanning angle of the laser points, the minimum scanning angle in the candidate point cloud set {T} is the minimum angle at which the candidate point cloud is scanned, and the maximum scanning angle in the candidate point cloud set is the maximum angle at which the candidate point cloud is scanned. Among these, the point p with the maximum scanning angle... angle_max and the point p with the smallest scanning angle angle_min The distance between the two points is d bet .
[0091] Step S25: Does d meet the requirements?
[0092] Based on the distance d between the two points bet Determine whether it belongs to the shelf point cloud:
[0093] ||d bet -l P || <d tol {T} is the shelf point cloud.
[0094] ||d bet -l P ||≥d tol {T} is not a shelf point cloud;
[0095] If the result is that d meets the requirements, proceed to step S27; if the result is that d does not meet the requirements, proceed to step S26.
[0096] Step S26: Detection failed.
[0097] After confirming the detection failure, step S21 is executed again after a preset time interval to continue acquiring the position of the shelf on the vehicle body.
[0098] Step S27: Determine whether the scanned item is a shelf panel.
[0099] The method for determining whether the scanned object is a shelf panel can be referred to above, and will not be repeated here. If the result indicates that the scanned object is a shelf panel, proceed to step S29; otherwise, proceed to step S28.
[0100] Step S28: Determine whether the scanned object is a shelf support.
[0101] The method for determining whether the scanned object is a shelf support is the same as described above, and will not be repeated here. If the result indicates that the scanned object is a shelf support, proceed to step S29; otherwise, proceed to step S26.
[0102] Step S29: Calculate the actual load-bearing position and angle of the shelf.
[0103] Using the positioning method corresponding to the location and relevant information of at least part of the target point cloud, the pose information of the target object relative to the carrying device is determined. The specific process can be referred to the above, and will not be repeated here.
[0104] Step S230: Calculate the shelf deviation.
[0105] The method for calculating the deviation between the actual load-bearing position and the standard load-bearing position can be referred to the above, and will not be repeated here.
[0106] Please see Figure 4 , Figure 4 This is a schematic diagram of an embodiment of the pose acquisition device of this application. The pose acquisition device 30 includes an acquisition module 31, a determination module 32, and a positioning module 33; the acquisition module 31 is used to acquire relevant information of multiple target point clouds obtained by the lidar on the carrier device scanning the target object, and the target object includes several parts; the determination module 32 is used to determine the parts to which the multiple target point clouds belong on the target object based on the relevant information of the multiple target point clouds; the positioning module 33 is used to determine the pose information of the target object relative to the carrier device using the positioning method corresponding to the part and the relevant information of at least some of the target point clouds, and the positioning method corresponding to different parts is different.
[0107] The above-described scheme uses a lidar on the carrier device to scan the target object and obtain multiple point clouds of the target object. Then, the target object is located based on these point clouds. Compared with locating the target object through image information, this method has lower requirements for lighting and computing power. In addition, by classifying the parts to which the multiple point clouds belong, and then using the location method corresponding to the parts and at least some point clouds to obtain the pose information of the target object relative to the carrier device, the obtained pose information is more accurate than using a single location method to obtain the pose information of the target object relative to the carrier device.
[0108] The functions of each module can be found in the embodiments of the pose acquisition method, and will not be repeated here.
[0109] Please see Figure 5 , Figure 5 This is a schematic diagram of the structure of an embodiment of the electronic device of this application. The electronic device 40 includes a memory 41 and a processor 42. The processor 42 is used to execute program instructions stored in the memory 41 to implement the steps in any of the above-described pose acquisition method embodiments. In a specific implementation scenario, the electronic device 40 may include, but is not limited to, monitoring equipment, microcomputers, and servers. In addition, the electronic device 40 may also include carrier devices such as laptops and tablets, which are not limited here.
[0110] Specifically, processor 42 controls itself and memory 41 to implement the steps in any of the above-described pose acquisition method embodiments. Processor 42 can also be referred to as a CPU (Central Processing Unit). Processor 42 may be an integrated circuit chip with signal processing capabilities. Processor 42 can also be a general-purpose processor, digital signal processor (DSP), application-specific integrated circuit (ASIC), field-programmable gate array (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components. A general-purpose processor can be a microprocessor or any conventional processor. Furthermore, processor 42 can be implemented using integrated circuit chips.
[0111] The above-described scheme uses a lidar on the carrier device to scan the target object and obtain multiple point clouds of the target object. Then, the target object is located based on these point clouds. Compared with locating the target object through image information, this method has lower requirements for lighting and computing power. In addition, by classifying the parts to which the multiple point clouds belong, and then using the location method corresponding to the parts and at least some point clouds to obtain the pose information of the target object relative to the carrier device, the obtained pose information is more accurate than using a single location method to obtain the pose information of the target object relative to the carrier device.
[0112] Please see Figure 6 , Figure 6 This is a schematic diagram of a computer-readable storage medium according to an embodiment of the present application. The computer-readable storage medium 50 stores program instructions 51 thereon, which, when executed by a processor, implement the steps in any of the above-described pose acquisition method embodiments.
[0113] The above-described scheme uses a lidar on the carrier device to scan the target object and obtain multiple point clouds of the target object. Then, the target object is located based on these point clouds. Compared with locating the target object through image information, this method has lower requirements for lighting and computing power. In addition, by classifying the parts to which the multiple point clouds belong, and then using the location method corresponding to the parts and at least some point clouds to obtain the pose information of the target object relative to the carrier device, the obtained pose information is more accurate than using a single location method to obtain the pose information of the target object relative to the carrier device.
[0114] In some embodiments, the functions or modules of the apparatus provided in this disclosure can be used to perform the methods described in the above method embodiments. The specific implementation can be referred to the description of the above method embodiments, and for the sake of brevity, it will not be repeated here.
[0115] The description of the various embodiments above tends to emphasize the differences between the various embodiments. The similarities or similarities between them can be referred to, and for the sake of brevity, they will not be repeated here.
[0116] In the several embodiments provided in this application, it should be understood that the disclosed methods and apparatus can be implemented in other ways. For example, the apparatus implementations described above are merely illustrative. For instance, the division of modules or units is only a logical functional division, and in actual implementation, there may be other division methods. For example, units or components may be combined or integrated into another system, or some features may be ignored or not executed. In another image location, the mutual coupling or direct coupling or communication connection shown or discussed may be through some interfaces, and the indirect coupling or communication connection of devices or units may be electrical, mechanical, or other forms.
[0117] Furthermore, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit. If the integrated unit is implemented as a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or all or part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) or processor to execute all or part of the steps of the methods in the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.
Claims
1. A pose acquisition method, characterized in that, include: Acquire relevant information about multiple target point clouds obtained by the lidar on the carrier device scanning the target object, wherein the target object includes several parts; Based on the relevant information of multiple target point clouds, determine the location of the multiple target point clouds on the target object; Using the positioning method corresponding to the part and at least some of the relevant information of the target point cloud, the pose information of the target object relative to the carrying device is determined. Different positioning methods are used for different parts. The target object is the shelf supported by the carrying equipment, and the part includes shelves and supports. Determining the pose information of the target object relative to the carrying equipment using a positioning method corresponding to the part and at least some relevant information from the target point cloud includes: In response to the fact that the multiple target point clouds belong to the shelf of the shelf, the pose information of the target object relative to the carrying equipment is determined by using N target point clouds, including two first endpoints, in the multiple target point clouds through linear fitting estimation. The N is greater than 2, and the two first endpoints are the point with the largest scanning angle and the point with the smallest scanning angle. Alternatively, in response to the fact that the location of the multiple target point clouds is a support of the shelf, the pose information of the target object relative to the carrying device is determined by using two first endpoints of the multiple target point clouds in an endpoint estimation manner.
2. The method according to claim 1, characterized in that, The position of the target point cloud includes the coordinates of the target point cloud in the first coordinate system where the lidar is located. The pose information includes the positional relationship between the second coordinate system and the first coordinate system where the target object is located. Determining the pose information of the target object relative to the carrying device using N target point clouds, including two first endpoints, includes: Obtain the positions of two first endpoints in the first coordinate system from the multiple target point clouds; Based on the positions of the two first endpoints in the first coordinate system and the positional relationship between the two first endpoints and the origin of the second coordinate system, the position of the origin of the second coordinate system in the first coordinate system is determined. The dimensionality of multiple target point clouds is reduced, wherein the first straight line after dimensionality reduction is parallel to a preset axis of the second coordinate system; Based on the position of the first straight line in the first coordinate system, the angle between the preset axis of the second coordinate system and the preset axis in the first coordinate system is obtained.
3. The method according to claim 2, characterized in that, The dimensionality reduction of the multiple target point clouds includes: The dimensionality of the multiple target point clouds is reduced using a preset principal component analysis method, and the line corresponding to the smallest eigenvalue is taken as the first line; The step of obtaining the angle between a preset axis in the second coordinate system and a preset axis in the first coordinate system based on the position of the first straight line in the first coordinate system includes: The included angle is determined based on the eigenvector corresponding to the minimum eigenvalue.
4. The method according to claim 1, characterized in that, The position of the target point cloud includes the coordinates of the target point cloud in the first coordinate system where the lidar is located. The pose information includes the positional relationship between the second coordinate system and the first coordinate system where the target object is located. Determining the pose information of the target object relative to the carrying device using two first endpoints from multiple target point clouds includes: Obtain the positions of two first endpoints in the first coordinate system from the multiple target point clouds; Based on the positions of the two first endpoints in the first coordinate system and the positional relationship between the two first endpoints and the origin of the second coordinate system, the position of the origin of the second coordinate system in the first coordinate system is determined. Based on the position of the second straight line where the two first endpoints are located in the first coordinate system, the angle between the preset axis of the second coordinate system and the preset axis of the first coordinate system is obtained, and the second straight line is parallel to the preset axis of the second coordinate system.
5. The method according to any one of claims 1-4, characterized in that, The step of determining the location of the multiple target point clouds on the target object based on relevant information of the multiple target point clouds includes: Based on the relevant information of multiple target point clouds, determine the shapes corresponding to the multiple target point clouds; By utilizing the shapes corresponding to the multiple target point clouds, the locations to which the multiple target point clouds belong can be determined.
6. The method according to claim 5, characterized in that, The shape includes straight lines, the target object is the shelf carried by the supporting equipment, the part includes shelves, the relevant information of the target point cloud includes the position of the target point cloud, and determining the shape corresponding to multiple target point clouds based on the relevant information of multiple target point clouds includes: The multiple target point clouds are divided into two regions, and each region includes a number of target point clouds; The minimum eigenvalue, maximum eigenvalue, and eigenvalue vectors of the target point cloud in each region are determined using a preset principal component analysis method. In response to the fact that the ratio between the minimum feature value and the maximum feature value corresponding to the target point cloud in each of the said regions is less than or equal to a preset ratio, the shape corresponding to the multiple target point clouds is determined to be a straight line; The step of determining the location of multiple target point clouds by utilizing the shapes corresponding to the multiple target point clouds includes: The layer corresponding to the straight line is identified as the part of the target point cloud.
7. The method according to claim 6, characterized in that, Before determining the minimum eigenvalue, maximum eigenvalue, and eigenvalue vectors corresponding to the target point cloud in each region using a preset principal component analysis method, the method further includes: Determine the two second endpoints in each of the aforementioned regions; For each region, in response to the distance between two second endpoints within the region being greater than or equal to a preset shortest straight distance and the width of the two second endpoints in the width direction of the target object being less than or equal to a preset maximum straight width, the step of determining the minimum eigenvalue, maximum eigenvalue, and eigenvalue vectors corresponding to the target point cloud in each region using a preset principal component analysis method is executed.
8. The method according to claim 6, characterized in that, The method further includes: For each region, in response to the distance between two second endpoints in the region being less than a preset shortest straight distance or the width of the two second endpoints in the width direction of the target object being greater than a preset maximum straight width, it is determined whether the width of the two second endpoints in the width direction of the target object and the length in the length direction of the target object in the two regions are both less than or equal to a preset width threshold. In response to the fact that the width of the two second endpoints in the two regions of the target object in the width direction and the length in the length direction of the target object are both less than or equal to a preset width threshold, the shape corresponding to the multiple target point clouds is determined to be a local region; The step of determining the location of multiple target point clouds by utilizing the shapes corresponding to the multiple target point clouds includes: The pillar corresponding to the local area is determined as the part to which the target point cloud belongs.
9. The method according to any one of claims 1-4, characterized in that, The relevant information of the target point cloud includes the position of the target point cloud in the first coordinate system where the lidar is located, and the acquisition of relevant information of multiple target point clouds obtained by the lidar on the carrying device scanning the target object includes: Acquire several initial point clouds obtained from the lidar scan; The position of each initial point cloud in the first coordinate system is determined by using the distance between each initial point cloud and the origin of the first coordinate system, as well as the minimum angle and angle increment of the lidar. The initial point clouds are filtered according to their positions in the first coordinate system to obtain the target point cloud and its related information obtained by scanning the target object.
10. The method according to claim 9, characterized in that, The target object is the shelf carried by the carrying equipment. The step of filtering the initial point cloud according to the position of each initial point cloud in the first coordinate system includes: Obtain the preset first dimension information of the shelf, the second dimension information of the bearing area on the bearing device for bearing the shelf, and the standard distance between the shelf and the origin of the first coordinate system when the shelf is in the standard bearing position of the bearing area; Based on the first size information, the second size information, and the standard distance, the possible load-bearing position of the shelf within the load-bearing area is determined; The initial point clouds are filtered according to the possible carrying locations to obtain the target point cloud.
11. The method according to claim 10, characterized in that, The step of filtering each of the initial point clouds according to the possible carrying locations to obtain the target point cloud includes: The initial point cloud located at the possible carrying locations is clustered to obtain several clusters; Retain clusters whose number of candidate point clouds is greater than or equal to a preset number, and merge the retained clusters into a candidate point cloud set; If the difference between the distance between the point cloud with the largest scanning angle and the point cloud with the smallest scanning angle in the candidate point cloud set and the first size information of the shelf is less than or equal to a preset difference, the point cloud in the candidate point cloud set is determined as the target point cloud.
12. An electronic device, characterized in that, It includes a memory and a processor, the processor being configured to execute program instructions stored in the memory to implement the method according to any one of claims 1 to 11.
13. A computer-readable storage medium having program instructions stored thereon, characterized in that, When the program instructions are executed by the processor, they implement the method described in any one of claims 1 to 11.