Positioning method, positioning system and robot

By extracting localization features from images taken from different perspectives and constructing error equations to adjust the robot's base coordinate system, the problem of inaccurate robot localization was solved, achieving precise localization and efficient processing.

CN120839765APending Publication Date: 2025-10-28KUKA ROBOTICS MFG CHINA CO LTD +1
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202410526824.6
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-04-28
Publication Date
2025-10-28

AI Technical Summary

Technical Problem

During the processing, the robot's positioning is inaccurate due to the deviation between the actual position of the workpiece and the reference position, making it unable to correctly adjust the motion trajectory.

Method used

By capturing images of the object to be located and a reference object from different preset perspectives, positioning features are extracted, feature image coordinates are determined, error equations are constructed, and the robot's base coordinate system is adjusted to achieve precise positioning.

Benefits of technology

This enables the robot to accurately locate the object to be positioned, ensuring the accuracy and efficiency of the processing.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120839765A_ABST
    Figure CN120839765A_ABST
Patent Text Reader

Abstract

The invention discloses a positioning method, a positioning system and a robot. The method comprises the following steps: extracting positioning features from a plurality of images shot by a to-be-positioned object at different preset viewing angles, and determining to-be-positioned feature image coordinates corresponding to the positioning features; based on the to-be-positioned feature image coordinate, the reference feature image coordinate and the pixel scale corresponding to each preset view angle, determining the physical error of the positioning feature under each preset view angle; and constructing an error equation based on the physical error, a transpose matrix of the camera relative to a pose rotation matrix of the robot base coordinate system, and coordinates of the positioning features of the reference object in the reference coordinate system, so as to determine a pose error of the to-be-positioned coordinate system of the to-be-positioned object relative to the reference coordinate system, therefore, the base coordinate system is adjusted based on the pose error, and the robot can position the to-be-positioned object. Wherein before the base coordinate system is adjusted, the reference coordinate system coincides with the base coordinate system. In this way, the target can be positioned.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of positioning, and in particular to a positioning method, positioning system and robot. Background Art

[0002] With the development of science and technology, the application of automation and processing technologies has become increasingly mature, making the use of robots to complete processing tasks an important requirement in production scenarios. Typically, robots follow a preset trajectory to perform corresponding functions on objects to be processed, which are positioned at a reference point. However, since the actual positions of the objects transported to the processing area may deviate from the reference position, and the actual positions of each object are not exactly the same, it is necessary to obtain the deviation between the actual position and the reference position of the object to be processed in order for the robot to process the objects correctly and perform its work properly. This allows for the localization of the objects and the correction of the robot's movement trajectory based on the deviation. Summary of the Invention

[0003] The main purpose of this application is to provide a positioning method, positioning system, and robot that can achieve target positioning.

[0004] To address the aforementioned technical problems, the first technical solution adopted in this application is to provide a positioning method. This method includes extracting positioning features from multiple images of an object to be positioned captured from different preset viewpoints, and determining the coordinates of the corresponding feature images; determining the physical error of the positioning features under each preset viewpoint based on the coordinates of the feature images to be positioned, the coordinates of a reference feature image, and the pixel scale corresponding to each preset viewpoint; wherein the coordinates of the reference feature image are obtained based on multiple images of the positioning features on the reference object; constructing an error equation based on the physical error, the transpose of the camera's pose rotation matrix relative to the robot's base coordinate system, and the coordinates of the positioning features of the reference object in the reference coordinate system, to determine the pose error of the object's coordinate system to be positioned relative to the reference coordinate system, thereby adjusting the base coordinate system based on the pose error to achieve robot positioning of the object; wherein, before adjusting the base coordinate system, the reference coordinate system coincides with the base coordinate system.

[0005] To address the aforementioned technical problems, the second technical solution adopted in this application is to provide a positioning system. This positioning system includes a camera, a robot, and a controller, with the controller connecting the camera and the robot to implement the method described in the first technical solution.

[0006] To solve the aforementioned technical problems, the third technical solution adopted in this application is to provide a robot. This robot is equipped with a camera, and it captures images according to preset trajectory points, thereby achieving the method described in the first technical solution.

[0007] The beneficial effects of this application are as follows: First, feature images of a reference object with its positioning characteristics are captured from different preset viewpoints. These feature images are then used to extract positioning features, and the coordinates of the corresponding reference feature images are determined. After acquiring the reference data, the object to be positioned is captured from different preset viewpoints. Feature images of the object's positioning characteristics are then extracted to obtain positioning features, and the coordinates of the corresponding positioning feature images are determined. Furthermore, based on the positioning feature image coordinates, the reference feature image coordinates, and the pixel scale at each viewpoint, the physical error of each positioning feature at each preset viewpoint is determined. Finally, an error equation is constructed based on the physical error, the camera's pose rotation matrix relative to the robot's base coordinate system, and the coordinates of the reference object's positioning features in the reference coordinate system. The optimal solution of the error equation yields the pose error of the object's coordinate system relative to the reference object's coordinate system. Since the robot's base coordinate system coincides with the reference coordinate system, this pose error is used to adjust the base coordinate system, bringing it closer to the object's coordinate system, thereby achieving the robot's positioning of the object. Attached Figure Description

[0008] To more clearly illustrate the technical solutions in the embodiments of the present invention, the accompanying drawings used in the description of the embodiments will be briefly introduced below. Obviously, the accompanying drawings described below are only some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0009] Figure 1 This is a flowchart illustrating the first embodiment of the positioning method of this application;

[0010] Figure 2 This is a flowchart illustrating the second embodiment of the positioning method of this application;

[0011] Figure 3 This is a flowchart illustrating the third embodiment of the positioning method of this application;

[0012] Figure 4 This is a flowchart illustrating the fourth embodiment of the positioning method of this application;

[0013] Figure 5 This is a flowchart illustrating the fifth embodiment of the positioning method of this application;

[0014] Figure 6 This is a flowchart illustrating the sixth embodiment of the positioning method of this application. Detailed Implementation

[0015] The technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only a part of the embodiments of this application, and not all of the embodiments. Based on the embodiments of this application, all other embodiments obtained by those of ordinary skill in the art without creative effort are within the scope of protection of this application.

[0016] The terms "first," "second," etc., used in this application are used to distinguish different objects, not to describe a specific order. Furthermore, the terms "comprising" and "having," and any variations thereof, are intended to cover non-exclusive inclusion. For example, a process, method, system, product, or apparatus that includes a series of steps or units is not limited to the listed steps or units, but may optionally include steps or units not listed, or may optionally include other steps or units inherent to these processes, methods, products, or apparatuses.

[0017] In this document, the term "embodiment" means that a particular feature, structure, or characteristic described in connection with an embodiment may be included in at least one embodiment of this application. The appearance of this phrase in various places throughout the specification does not necessarily refer to the same embodiment, nor is it a separate or alternative embodiment mutually exclusive with other embodiments. It will be explicitly and implicitly understood by those skilled in the art that the embodiments described herein can be combined with other embodiments.

[0018] Reference Figure 1 , Figure 1 This is a flowchart illustrating the first embodiment of the positioning method of this application. It includes the following steps:

[0019] S11: Extract positioning features from multiple images of the object to be positioned taken from different preset viewpoints, and determine the image coordinates of the positioning features corresponding to the positioning features.

[0020] First, for objects to be located and processed, their structure or appearance is analyzed to identify easily identifiable features, which are then used as the location features of such objects. This facilitates the subsequent target location of similar objects based on these location features.

[0021] After determining the position of the object and its location features, a preset viewing angle is further determined so that the location features on the object can be captured when shooting from the preset viewing angle. Each preset viewing angle can capture at least one location feature. To ensure sufficient accuracy in target positioning, at least three preset viewing angles are used in this application.

[0022] After taking pictures of the object to be located using the aforementioned preset perspective, feature extraction is performed on the obtained multiple images to obtain the image coordinates of the corresponding positioning features.

[0023] S12: Determine the physical error of the localization feature under each preset viewpoint based on the coordinates of the feature image to be localized, the coordinates of the reference feature image, and the pixel scale corresponding to each preset viewpoint.

[0024] The reference feature image coordinates are obtained based on multiple images of the localized features on the reference object.

[0025] In the actual process, the aforementioned preset viewing angle is determined during the acquisition of the reference feature image coordinates. First, the position of the reference object and the location of its features are determined. Then, a suitable preset viewing angle is determined based on their distribution, serving as the subsequent shooting angle. Next, the reference image is captured according to this preset viewing angle, and feature extraction is performed on the obtained images to obtain the image coordinates corresponding to the features, i.e., the reference feature image coordinates.

[0026] By combining the coordinates of the feature image to be located, the coordinates of the reference feature image, and the pixel scale of each viewpoint, the physical error of each feature under each viewpoint is obtained.

[0027] S13: Based on physical errors, the transpose of the camera's pose rotation matrix relative to the robot's base coordinate system, and the coordinates of the reference object's positioning features in the reference coordinate system, an error equation is constructed to determine the pose error of the object's coordinate system relative to the reference coordinate system. Based on the pose error, the base coordinate system is adjusted to achieve the robot's positioning of the object.

[0028] The camera's pose rotation matrix relative to the robot's base coordinate system during shooting, along with the coordinates of the reference object's positioning features in the reference coordinate system, are obtained. Combined with the obtained physical error, an error equation is constructed to obtain the pose error of the coordinate system to be positioned relative to the reference coordinate system. Since the reference object's reference coordinate system coincides with the robot's base coordinate system during coordinate system construction (i.e., before adjustment of the base coordinate system), this pose error is equivalent to the pose error between the base coordinate system and the coordinate system to be positioned. Therefore, adjusting the base coordinate system according to this pose error enables the robot to position the object to be positioned.

[0029] In this embodiment, feature images of a reference object with its positioning features are captured beforehand from different preset viewpoints. Feature extraction is performed on these feature images to obtain positioning features, and the coordinates of the reference feature images corresponding to the positioning features of the reference object are determined. After the reference data acquisition is completed, the object to be positioned is captured from different preset viewpoints. Feature extraction is performed on the feature images of the object to be positioned with its positioning features, and the coordinates of the positioning feature images corresponding to the positioning features of the object to be positioned are determined. Furthermore, the physical error of each positioning feature at each preset viewpoint is determined based on the coordinates of the positioning feature images, the coordinates of the reference feature images, and the pixel scale at each viewpoint. Finally, an error equation is constructed based on the physical error, the camera's pose rotation matrix relative to the robot's base coordinate system, and the coordinates of the positioning features of the reference object in the reference coordinate system. The optimal solution of the error equation yields the pose error of the target coordinate system of the object to be positioned relative to the reference coordinate system of the reference object. Since the robot's base coordinate system coincides with the reference coordinate system, this pose error is used to adjust the base coordinate system, bringing it closer to the target coordinate system, thereby achieving the robot's positioning of the object to be positioned.

[0030] In one embodiment, the localization features in multiple feature images of the same object taken from various preset viewing angles are not the same. In this embodiment, the technical solution used does not require that each viewing angle has a common field of view; it only requires that the image taken from each preset viewing angle has a feature that can be stably identified.

[0031] In one embodiment, the reference object and the object to be located have the same positioning features under the same preset viewpoint. This is to facilitate the calculation of the physical error of capturing the positioning feature under the same viewpoint.

[0032] Reference Figure 2 , Figure 2 This is a flowchart illustrating a second embodiment of the positioning method of this application. The method further defines the pixel scale acquisition and includes the following steps:

[0033] S21: Before taking pictures of the reference object, determine the preset viewing angle based on the distribution of positioning features on the reference object, and determine the multiple trajectory points where the robot is located when taking pictures using the preset viewing angle based on the base coordinate system.

[0034] The positioning features are those that are easy to visually identify. After determining the position of the reference object and the positioning features on it, a suitable preset viewing angle is determined based on their distribution as the shooting angle.

[0035] At this point, a reference coordinate system can be constructed based on the reference object to determine the coordinates of the localization features within the reference coordinate system. Simultaneously, a base coordinate system for the robot is constructed, coinciding with the reference coordinate system. This base coordinate system allows the robot's trajectory point to be determined when filming from a preset viewpoint. Subsequently, when filming from the preset viewpoint, the robot is moved to that trajectory point for filming.

[0036] S22: After taking pictures of the reference object and the calibration object together from a preset perspective according to the trajectory points, or after taking pictures of the reference object, take pictures of the calibration object from a preset perspective according to the trajectory points, and extract the calibration feature image coordinates from the multiple pictures.

[0037] The calibration object may be different from the reference object or the object to be located; it is only used to assist in the positioning of the object to be located. During shooting, the calibration object can be placed near the reference object and then photographed together with the reference object. Alternatively, the calibration object can be photographed after the reference object has been photographed. Shooting them together simplifies the preparation process and improves work efficiency.

[0038] Feature extraction is performed on the captured images to obtain the coordinates of the calibration feature images corresponding to the features of the calibrated objects.

[0039] S23: The PnP algorithm is used to process the coordinates of the calibration feature image and the camera intrinsic parameters to determine the pose of the calibration object relative to the camera corresponding to the trajectory point. The pose includes the translation matrix of the calibration object relative to the camera.

[0040] The PnP algorithm is used to solve for camera pose given the world coordinates of an object and its pixel coordinates in a 2D image. Therefore, given the coordinates of the calibration feature image, combined with the camera intrinsic parameters and the coordinates of the calibration object in the world coordinate system, the camera pose relative to the world coordinate system can be obtained. Using the calibration object as the zero point of the world coordinate system, the camera pose relative to the calibration object can be obtained. Correspondingly, the pose of the calibration object relative to the camera can be obtained. This pose can include the rotation and translation matrices of the calibration object relative to the camera. Specifically, it can be represented as the pose of the calibration object relative to the camera. in For rotation matrix, It is a translation matrix.

[0041] S24: Obtain the pixel scale corresponding to each preset viewpoint based on the translation matrix and camera intrinsic parameters.

[0042] Furthermore, the pixel scale for each viewpoint can be calculated using the translation matrix and camera intrinsic parameters. Specifically, it can be calculated using the following formula:

[0043]

[0044] Where, λ i denoted by pixel scale, i represents either the i-th camera or the i-th preset viewpoint, fx and fy are camera intrinsic parameters, m is the total number of preset viewpoints, and z is the z-coordinate in the translation matrix.

[0045] Reference Figure 3 , Figure 3 This is a flowchart illustrating a third embodiment of the positioning method of this application. The method is a further extension of step S12, and includes the following steps:

[0046] S31: Obtain the difference result by subtracting the coordinates of the reference feature image from the coordinates of the feature image to be located.

[0047] S32: Multiply the difference result and the pixel scale to obtain the physical error.

[0048] After obtaining the coordinates of the feature image to be located and the coordinates of the reference feature image, the physical error can be calculated using the following formula:

[0049]

[0050] In the above feature extraction process, i,j represents the j-th feature corresponding to the i-th camera. The coordinates of the reference feature image are then represented as... Represent the coordinates of the feature image to be located.

[0051] Reference Figure 4 , Figure 4 This is a flowchart illustrating the fourth embodiment of the positioning method of this application. This method is a further extension of the method for obtaining the pose rotation matrix of the camera relative to the base coordinate system in the above embodiments, and includes the following steps:

[0052] S41: Obtain the robot pose when the robot is photographed at the trajectory point. The robot pose is the value of the flange coordinate system relative to the base coordinate system.

[0053] During the process of photographing the calibrated object, the robot's pose is acquired at various trajectory points. This pose is a numerical value of the flange coordinate system relative to the base coordinate system. It can be represented as... i represents the i-th camera or the i-th preset viewpoint, and m represents the total number of preset viewpoints.

[0054] S42: Determine the pose rotation matrix based on the translation matrix and the robot pose.

[0055] The specific method of obtaining it can be implemented as described in the following embodiments.

[0056] Reference Figure 5 , Figure 5 This is a flowchart illustrating the fifth embodiment of the positioning method of this application. The method is a further extension of step S42, and includes the following steps:

[0057] S51: Center the translation matrix and robot pose using a point set.

[0058] The translation matrix and robot pose are treated as two sets of points, and then centered.

[0059] Translate matrix Recorded as robot pose Recorded as

[0060] Then it is centralized:

[0061]

[0062]

[0063] S52: Obtain the covariance matrix of the centered point set.

[0064] Further calculate its covariance matrix:

[0065]

[0066] S53: The pose rotation matrix is ​​obtained by processing the covariance matrix using singular value decomposition.

[0067] Singular value decomposition yields U, S, and V. (U, S, V) = SVD(H). Here, U and V are both m*m matrices, and S is an m*n diagonal matrix. Both U and V are unitary matrices, with U being a left-ambiguous matrix and V a right-ambiguous matrix.

[0068] Then calculate the rotation matrix:

[0069] K i =VU T

[0070] In the technical solution of this application, there are multiple ways to install the camera. For example, in the first case, multiple cameras are fixedly installed in certain positions (such as the ground) to take pictures of objects from a preset perspective; in the second case, multiple cameras are installed on the end effector of a robot, the robot is located in a fixed position, and the end effector is controlled to make each camera take pictures of the object from a preset perspective; in the third case, a single camera is installed on a robot module, and the robot moves to different positions to take pictures of the object from a preset perspective, etc.

[0071] When using the first method, the relative pose transformation matrix of the camera relative to the robot's base coordinate system can be directly determined by the camera's position. When using the second or third method, the pose transformation matrix of the camera relative to the base coordinate system can be obtained in the same way as described above.

[0072] Reference Figure 6 , Figure 6 This is a flowchart illustrating the sixth embodiment of the positioning method of this application. The method is a further extension of step S13, and includes the following steps:

[0073] S61: Based on physical errors, the transpose of the camera's pose rotation matrix relative to the robot's base coordinate system, the coordinates of the reference object's localization features in the reference coordinate system, and the pose error of the object's coordinate system relative to the reference coordinate system, an error equation is constructed.

[0074] S62: Solve for pose error by obtaining the minimum value of the error equation.

[0075] After obtaining the physical error, construct the error equation:

[0076]

[0077] Where dR and dt represent the rotation error and translation error of the pose error, respectively.

[0078] Then, using dR and dt as variables, the least squares optimal solution is obtained through methods such as the Gauss-Newton method or the Levenberg-Marquardt method.

[0079] Finally, the base coordinate system is corrected based on the solutions of dR and dt, enabling the robot to locate the object to be located.

[0080] In the technical solution described in this application, the camera used can be a 2D camera, eliminating the need to acquire depth information. Using a 2D camera reduces the deployment cost of the positioning method described in this application.

[0081] The method of this application will be described in more detail below with a specific embodiment.

[0082] First, obtain reference data. Construct a reference coordinate system for the reference workpiece, select easily visually identifiable positioning features on the workpiece, and obtain their coordinates in the reference coordinate system. Let i and j represent the j-th feature corresponding to the i-th camera, where i ≥ 3 and j ≥ 1. Then, determine the appropriate shooting angle for the camera, i.e., the preset angle, based on the positional distribution of the workpiece and the positioning features.

[0083] Next, the robot's base coordinate system is set to coincide with the reference coordinate system, and the robot's trajectory points in this base coordinate system are determined. For cases where the camera is mounted on the robot's end effector, these trajectory points are used for the robot to move to these points to capture images from preset viewpoints. At each preset viewpoint, the camera captures images of the reference workpiece, and feature extraction is performed on multiple captured images to obtain the reference feature image coordinates corresponding to the positioning features, denoted as [reference feature image coordinates]. and One-to-one correspondence.

[0084] After obtaining the reference data, obtain the camera parameters (λ). i ,K i ), where λ i Let K be the pixel scale of the camera at the i-th viewpoint. i It is represented as the pose matrix of the i-th view camera.

[0085] The robot's pose at the time of shooting is obtained by taking pictures of the calibrated object according to various trajectory points. m represents the total number of trajectory points, or the total number of preset viewpoints. The values ​​of the flange coordinate system of the robot are equivalent to those of the base coordinate system.

[0086] Furthermore, feature extraction is performed on the images of the calibration object, and the pose of the calibration object relative to the camera is obtained through camera intrinsics and the PnP algorithm. in For rotation matrix, It is a translation matrix.

[0087] Then the pixel scale for each viewpoint can be calculated:

[0088]

[0089] Next, the camera pose matrix is ​​calculated. This is achieved using m sets of... and group m The pose transformation matrix of the camera relative to the robot's base coordinate system is obtained by methods such as singular value decomposition. , making The following relationship can be satisfied:

[0090]

[0091]

[0092] Where K i The solution can be understood as two sets of points. )and Alignment issues. Recorded as and Recorded as The calculation process is as follows:

[0093] First, center the two sets of points respectively:

[0094]

[0095]

[0096] Calculate the covariance matrix:

[0097]

[0098] Calculate U, S, V using the Singular Value Decomposition (SVD) method:

[0099] (U,S,V)=SVD(H)

[0100] Calculate the rotation matrix:

[0101] K i =VU T

[0102] Among them, K i That is, the camera pose matrix in the camera parameters of each viewpoint, which is also the pose rotation matrix.

[0103] Once all the above data has been obtained, the positioning of the workpiece to be positioned can begin.

[0104] The workpiece to be positioned is photographed from various preset viewpoints. Feature extraction is performed on the multiple images to obtain the coordinates of the feature images to be positioned, denoted as . Its and One-to-one correspondence.

[0105] Calculate the physical errors from various perspectives:

[0106]

[0107] Constructing error equations based on physical errors:

[0108]

[0109] The optimal solutions for dR and dt are obtained by using the Gauss-Newton method or the LM method with least squares.

[0110] The robot's base coordinate system is corrected based on dR and dt to achieve the positioning of the workpiece to be positioned.

[0111] This application also proposes a positioning system. The positioning system includes a camera, a robot, and a controller. The camera is not mounted on the robot, and the controller connects the camera and the robot to implement the methods provided in any embodiment and possible combinations of the positioning methods described above in this application.

[0112] This application also proposes a robot equipped with a camera, which takes images according to preset trajectory points to achieve the positioning method provided in any of the above embodiments and possible combinations of the above application.

[0113] In summary, feature images of a reference object with its localization characteristics are captured beforehand from different preset viewpoints. Feature extraction is performed on these images to obtain localization features, and the coordinates of the reference feature images corresponding to the localization features of the reference object are determined. After acquiring the reference data, the object to be localized is captured from different preset viewpoints. Feature extraction is performed on the captured feature images of the object to be localized with its localization characteristics, and the coordinates of the corresponding localization feature images are determined. Furthermore, based on the coordinates of the localization feature images, the coordinates of the reference feature images, and the pixel scale at each viewpoint, the physical error of each localization feature at each preset viewpoint is determined. Finally, an error equation is constructed based on the physical error, the camera's pose rotation matrix relative to the robot's base coordinate system, and the coordinates of the reference object's localization features in the reference coordinate system. The optimal solution of the error equation yields the pose error of the object's coordinate system relative to the reference coordinate system of the reference object. Since the robot's base coordinate system coincides with the reference coordinate system, this pose error is used to adjust the base coordinate system, bringing it closer to the object to be localized, thereby achieving the robot's localization of the object.

[0114] In the several embodiments provided in this application, it should be understood that the disclosed methods and devices can be implemented in other ways. For example, the device embodiments 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, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed.

[0115] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment, depending on actual needs.

[0116] 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.

[0117] If the integrated units in the other embodiments described above are implemented as software functional units and sold or used as independent products, they 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 described 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.

[0118] The above description is merely an embodiment of this application and does not limit the patent scope of this application. Any equivalent structural or procedural transformations made using the content of this application's specification and drawings, or direct or indirect applications in other related technical fields, are similarly included within the patent protection scope of this application.

Claims

1. A positioning method, characterized in that, The method includes: The positioning features are extracted from multiple images of the object to be located taken from different preset viewpoints, and the image coordinates of the positioning features corresponding to the positioning features are determined. The physical error of the positioning feature under each preset viewpoint is determined based on the coordinates of the feature image to be located, the coordinates of the reference feature image, and the pixel scale corresponding to each preset viewpoint; wherein, the coordinates of the reference feature image are obtained based on multiple images of the positioning feature on the reference object; Based on the physical error, the transpose of the camera's pose rotation matrix relative to the robot's base coordinate system, and the coordinates of the reference object's positioning features in the reference coordinate system, an error equation is constructed to determine the pose error of the object to be positioned relative to the reference coordinate system. Based on the pose error, the base coordinate system is adjusted to achieve the robot's positioning of the object to be positioned. Before adjusting the base coordinate system, the reference coordinate system coincides with the base coordinate system.

2. The method according to claim 1, characterized in that, The positioning features in multiple feature images of the same object taken from various preset viewpoints are not the same.

3. The method according to claim 1, characterized in that, The reference object and the object to be located have the same positioning characteristics under the same preset viewpoint.

4. The method according to claim 3, characterized in that, The acquisition of the pixel scale includes: Before photographing the reference object, the preset viewing angle is determined based on the distribution of the positioning features on the reference object, and multiple trajectory points of the robot when photographing using the preset viewing angle are determined based on the base coordinate system. After the reference object and the calibration object are photographed together from the preset viewpoint according to the trajectory points, or after the photographing of the reference object is completed, the calibration object is photographed from the preset viewpoint according to the trajectory points, and the calibration feature image coordinates are extracted from the multiple images obtained. The PnP algorithm is used to process the coordinates of the calibration feature image and the camera intrinsic parameters to determine the pose of the calibration object relative to the camera corresponding to the trajectory point. The pose includes the translation matrix of the calibration object relative to the camera. The pixel scale corresponding to each preset viewpoint is obtained based on the translation matrix and the camera intrinsic parameters.

5. The method according to claim 4, characterized in that, The step of determining the physical error of the localization feature under each preset viewpoint based on the coordinates of the feature image to be localized, the coordinates of the reference feature image, and the pixel scale corresponding to each preset viewpoint includes: The difference result is obtained by subtracting the coordinates of the reference feature image from the coordinates of the feature image to be located; The physical error is obtained by multiplying the difference result and the pixel scale.

6. The method according to claim 4, characterized in that, The acquisition of the camera's pose rotation matrix relative to the base coordinate system includes: The robot pose is obtained when the robot takes pictures at the trajectory points, and the robot pose is a value of the flange coordinate system relative to the base coordinate system; The pose rotation matrix is ​​determined based on the translation matrix and the robot pose.

7. The method according to claim 6, characterized in that, Determining the pose rotation matrix based on the translation matrix and the robot pose includes: The translation matrix and the robot pose are then centralized using a point set; Obtain the covariance matrix of the centralized point set; The pose rotation matrix is ​​obtained by processing the covariance matrix using singular value decomposition.

8. The method according to claim 4, characterized in that, The step of constructing an error equation based on the physical error, the transpose of the camera's pose rotation matrix relative to the robot's base coordinate system, and the coordinates of the reference object's positioning features in the reference coordinate system to determine the pose error of the object's coordinate system relative to the reference coordinate system includes: The error equation is constructed based on the physical error, the transpose of the camera's pose rotation matrix relative to the robot's base coordinate system, the coordinates of the reference object's positioning features in the reference coordinate system, and the pose error of the object's coordinate system relative to the reference coordinate system. The pose error is solved by obtaining the minimum value of the error equation.

9. A positioning system, characterized in that, The positioning system includes a camera, a robot, and a controller, the controller being connected to the camera and the robot to implement the method as described in any one of claims 1-8.

10. A robot, characterized in that, The robot is equipped with a camera, and the robot takes pictures according to preset trajectory points, thereby realizing the method as described in any one of claims 1-8.