A method for estimating the pose of automobile hood grasping in two-dimensional images

By using the position estimation method of the automobile engine cover under two-dimensional images in industrial vision, the nine-point calibration method and template workpiece position information are used to solve the problems of complex posture estimation and poor real-time performance in the prior art, and the engine cover grabbing with high precision and high real-time performance is achieved.

CN114882108BActive Publication Date: 2025-05-16GUANGDONG UNIV OF TECH
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202210386421.7
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-04-13
Publication Date
2025-05-16
Estimated Expiration
2042-04-13

AI Technical Summary

Technical Problem

In the prior art, when industrial vision is used for grabbing a car engine hood, the position estimation process is complicated and the real-time performance is poor, which can easily lead to damage to the engine hood, and the fixture of the robotic arm is complicated and the camera cannot be installed.

Method used

A method for estimating the position of the engine cover under a two-dimensional image is proposed. Two-dimensional hand-eye calibration is performed through the nine-point calibration method, and the coordinate transformation relationship between the camera pixel coordinate system and the base coordinate system of the robotic arm is established, the position information of the template workpiece is obtained, and the position of the engine cover to be estimated is obtained in real time in the real-time online stage. The positioning points and direction vectors are precisely positioned and corrected to improve the accuracy of the grasping position estimation.

Benefits of technology

The position estimation process is simplified, real-time and accuracy are improved, the engine cover damage is avoided, and the complexity of the robotic arm fixture is reduced.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114882108B_ABST
    Figure CN114882108B_ABST
Patent Text Reader

Abstract

The present invention proposes a method for estimating the grasping posture of a car engine hood under a two-dimensional image, which relates to the technical field of industrial vision. First, two-dimensional hand-eye calibration is performed to determine the coordinate transformation relationship between a camera pixel coordinate system and a robot base coordinate system to obtain a conversion matrix. Then, a template workpiece of the engine hood is produced to obtain the posture information of the template workpiece. In a real-time online stage, the online posture information of the engine hood to be estimated is obtained in real time. Based on the posture information of the template workpiece and the conversion matrix, the position and attitude direction angle of the engine hood to be estimated in the robot coordinate system are obtained. The robot performs correction and grasping based on the information. The camera and the robot are separated for correction and grasping. In the early offline stage, the camera shoots once when the engine hood enters the camera field of view, and does not need to be synchronized with the robot. The implementation process is simple, and the robot can perform robot arm correction on the real-time posture of each engine hood, thereby improving the grasping posture estimation accuracy.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of industrial vision, and more specifically, to a method for estimating the grasping posture of a car engine cover in a two-dimensional image. Background Art

[0002] With the development of modern industrial automation production, industrial vision has been widely used. In the automated automobile production process, a robotic arm is required to grab the finished engine cover for subsequent inspection and processing.

[0003] The prior art discloses a hand-eye servo robot, which uses a camera on a mechanical arm to capture a target workpiece object, and determines whether the target is in the camera field of view, that is, the camera captures an image and extracts the object information from it, and then calculates the relative posture between the camera and the workpiece object, and finally realizes the grasping by moving the mechanical arm. During the grasping process, the camera and the mechanical arm need to be highly coordinated, and the camera needs to be installed on the mechanical arm, resulting in the posture estimation needing to be performed continuously when the mechanical arm moves. Therefore, the implementation process is relatively complicated and the real-time performance is poor. If it is applied to grasping the engine hood of an automobile, it is easy to damage the engine hood during grasping. In addition, the fixture of the mechanical arm for grasping the engine hood of an automobile is very complicated, and it is impossible to install a camera on the fixture. Summary of the invention

[0004] In order to solve the problems of complex implementation process and poor real-time performance of existing pose estimation methods, the present invention proposes a method for estimating the grasping pose of a car engine hood under a two-dimensional image. The method does not require the installation of a camera for the robotic arm and is simple to implement. The robotic arm can perform robotic arm correction on the real-time pose of each engine hood, thereby improving the accuracy of grasping pose estimation.

[0005] In order to achieve the above technical effects, the technical solution of the present invention is as follows:

[0006] A method for estimating the grasping posture of a car engine cover in a two-dimensional image, the method comprising the following steps:

[0007] S1. Use the nine-point calibration method to perform two-dimensional hand-eye calibration, establish the coordinate transformation relationship between the camera pixel coordinate system and the robot base coordinate system, and obtain the transformation matrix;

[0008] S2. Obtain an image of the engine cover template workpiece, downsample the template workpiece image and perform coarse positioning, obtain the centroid of the feature contour by coarse positioning, calculate the center, and obtain a fine positioning area image based on the center point;

[0009] S3. Perform precise positioning based on the precise positioning area image to obtain the template workpiece image positioning point and the template workpiece image center point;

[0010] S4. Connect the template workpiece image positioning point and the template workpiece image center point to obtain the template workpiece direction vector;

[0011] S5. Use the robot arm to directly grab the engine cover under the template workpiece posture, determine the robot arm coordinate point corresponding to the template workpiece posture and the robot arm posture direction angle under the robot arm base coordinate system plane;

[0012] S6. Real-time acquisition of the position of the engine hood to be estimated, taking a two-dimensional image, and determining the image positioning point of the engine hood to be estimated and the direction vector of the engine hood to be estimated by using S2 to S4;

[0013] S7. Based on the image positioning point of the engine hood to be estimated and the direction vector of the engine hood to be estimated, the final positioning point of the engine hood to be estimated and the final attitude direction angle of the engine hood to be estimated are calculated in real time;

[0014] S8. The final positioning point of the engine cover to be estimated and the final attitude direction angle of the engine cover to be estimated are sent to the robotic arm for correction, and the robotic arm grasps the engine cover according to the correction.

[0015] In the present technical scheme, it is mainly divided into an offline stage of S1 to S5 and a real-time online stage of S6 to S8. The offline stage is the offline template workpiece production stage. First, a two-dimensional hand-eye calibration is performed to determine the coordinate transformation relationship between the camera pixel coordinate system and the robot base coordinate system to obtain a transformation matrix. Then, a template workpiece of the engine cover is produced to obtain the posture information of the template workpiece and keep it together with the obtained transformation matrix. In the real-time online stage, the position of the engine cover to be estimated is obtained in real time to shoot a two-dimensional image, so as to obtain the online posture information. Based on the posture information of the template workpiece and the obtained transformation matrix, the position and attitude direction angle of the engine cover to be estimated in the robot coordinate system are obtained. The robot performs correction and grasps the engine cover based on this. In the above process, the camera and the robot are separated for correction and grasping. In the early offline stage, the camera shooting ends once the engine cover enters the camera field of view, and there is no need to cooperate with the robot to carry out synchronously. The implementation process is simple, and the subsequent real-time online stage can perform robot arm correction on the real-time posture of each engine cover to improve the accuracy of grasping posture estimation.

[0016] Preferably, in step S1, the coordinates of nine points in the camera pixel coordinate system are obtained by using a camera: 1 , v 1 ),...,(u 9 , v 9 ), the coordinates of the nine points in the camera pixel coordinate system correspond to the coordinates in the robot base coordinate system: (x 1 ,y 1 ),...,(x 9 ,y9 ), for any one of the nine points in the camera pixel coordinate system (u, v) and the coordinates in the robot base coordinate system (x, y), the coordinate transformation relationship satisfies:

[0017]

[0018] in, represents the transformation matrix. A, B, C, D, E, and F are the elements of the transformation matrix.

[0019] Preferably, in step S2, the template workpiece image is downsampled and then roughly positioned, the centroid of the feature contour is obtained by rough positioning, and the center is calculated. The process of obtaining the precise positioning area image based on the center point is as follows:

[0020] S21. Assume the obtained template workpiece image is temp_img (u,v) , after downsampling, we get the image sub_img (u,v) ;

[0021] S22. Use OTSU threshold segmentation algorithm to get the image sub_img (u,v) Fuzzy binary image binary (u,v) , for fuzzy binary graph binary (u,v) Perform binary morphological operations to obtain the edge of the contour (u,v) ;

[0022] S23. Based on the top contour shape features of the engine cover, the number of polygon edges is calculated from the contour edge (u,v) Filter out the feature contour feature_edge (u,v) ;

[0023] S24. Calculate feature contour feature_edge (u,v) The first moment M 1,0 , M 0,1 and zero-order moment M 0,0 , get the feature contour feature_edge (u,v) The centroid of edge_centroid(u,v); the calculation formula is:

[0024] u edge_centroid =M 1,0 / M 0,0

[0025] v edge_centroid =M 0,1 / M 0,0

[0026] Among them, u edge_centroidIndicates the u-axis coordinate of the centroid edge_centroid(u, v), v edge_centroid Represents the v-axis coordinate of the centroid point edge_centroid(u,v);

[0027] S25. Sub_img (u,v) The centroid point edge_centroid(u,v) in is converted to the image temp_img (u,v) For the point roi_center(u, v) in , the transformation relationship satisfies:

[0028] u roi_center =u edge_centroid *cols / h1

[0029] v roi_center =v edge_centroid *rows / w1

[0030] Among them, cols represents the picture temp_img (u,v) The pixel length of rows represents the image temp_img (u,v) The pixel width of h1 and w1 are the pixel length and pixel width after downsampling;

[0031] S26. Take roi_center(u, v) as the center point to cut out the precise positioning area image new_img with pixel length h2 and pixel width w2 (u,v) .

[0032] Preferably, the process of performing precise positioning based on the precise positioning area image in step S3 to obtain the template workpiece image positioning point and the template workpiece image center point is as follows:

[0033] S31. In the same manner as steps S22 to S24, the image new_img of the precise positioning area is (u,v) Perform the operation to obtain its contour edge new_edge (u,v) , and operate to filter out the feature contour new_feature_edge (u,v) ;

[0034] S32. Calculate the contour roundness and contour distance new_feature_edge (u,v) The distance from the edge of the contour new_edge is calculated based on the distance value. (u,v) Filter out a series of unordered feature contours feature_circle (u,v) ;

[0035] S33. For an unordered series of feature contours feature_circle (u,v)Perform least squares circle fitting to obtain each feature contour feature_circle (u,v) The center point of the fitted circle corresponding to circle_center(u, v);

[0036] S34. Sort the unordered series of circle center points circle_center(u, v) to obtain an ordered series of circle center points order_circle_center(u, v);

[0037] S35. Connect a series of circle center points order_circle_center(u,v) in the order of head to tail to form a new closed feature contour feature_contour (u,v) ;

[0038] S36. Obtain a closed feature contour feature_contour in the same manner as step S24 (u,v) Find the center point contour_centroid(u, v) of the circle from the center point order_circle_center(u, v), and find the center point fianl_circle_1(u, v) farthest from the center point contour_centroid(u, v). Find the center point fianl_circle_2(u, v) farthest from the center point fianl_circle_1(u, v) from the center point order_circle_center(u, v).

[0039] S37. Take the midpoint middle_center(u, v) of the center point fianl_circle_1(u, v) and the center point fianl_circle_2(u, v), and obtain the template workpiece image positioning point temp_center(u, v) and the center point temp_circle(u, v) through coordinate transformation. The transformation relationship expression is:

[0040] u temp_center =u roi_center -h2+u middle_center

[0041] v temp_center =v roi_center -w2+v middle_center

[0042] u temp_circle =u roi_center -h2+u final_circle_1

[0043] v temp_circle =v roi_center -w2+vfinal_circle_1

[0044] Among them, u temp_center 、v temp_center They represent the u coordinate value and v coordinate value of the template workpiece image positioning point temp_center(u,v); temp_circle 、v temp_circle They respectively represent the u coordinate value and v coordinate value of the center point temp_circle(u, v) of the template workpiece image.

[0045] Preferably, in step S4, the template workpiece image positioning point and the template workpiece image circle center point are connected to obtain an expression of the template workpiece direction vector that satisfies:

[0046]

[0047] in, Represents the template workpiece direction vector; temp_center(u, v) represents the template workpiece image positioning point, and temp_circle(u, v) represents the template workpiece image positioning point.

[0048] Preferably, in step S5, the robot arm coordinate point corresponding to the template workpiece posture and the robot arm posture direction angle in the robot arm base coordinate system plane are temp_robot(x, y) and temp_angle respectively.

[0049] In step S7, based on the image positioning point of the engine hood to be estimated and the direction vector of the engine hood to be estimated, the process of calculating and acquiring the final positioning point of the engine hood to be estimated and the final attitude direction angle of the engine hood to be estimated in real time includes:

[0050] S71. Calculate the translation amount of the engine cover to be estimated in the camera pixel coordinate system, translate the template workpiece direction vector to the same starting point as the direction vector of the engine cover to be estimated, and obtain the translated direction vector;

[0051] S72. Calculating the rotation angle of the engine cover to be estimated relative to the template workpiece based on the translated direction vector and the direction vector of the engine cover to be estimated;

[0052] S73. Using the transformation matrix, the template workpiece image positioning points and the image positioning points of the engine cover to be estimated are transformed from the camera pixel coordinate system to the robot base coordinate system to obtain the template workpiece image positioning points and the image positioning points of the engine cover to be estimated in the robot base coordinate system;

[0053] S74. Calculate the translation amount of the engine cover to be estimated in the robot base coordinate system based on the template workpiece image positioning points and the image positioning points of the engine cover to be estimated in the robot base coordinate system;

[0054] S75. Calculate the robot arm coordinate point in the new robot arm base coordinate after translation based on the estimated translation amount of the engine cover in the robot arm base coordinate and the robot arm coordinate point in the corresponding template workpiece posture;

[0055] S76. Calculate the final positioning point of the engine cover to be estimated based on the robot coordinate point in the new robot base coordinate system, the rotation angle of the engine cover to be estimated relative to the template workpiece, and the image positioning point of the engine cover to be estimated in the robot base coordinate system;

[0056] S77. Calculate the final attitude direction angle of the engine cover to be estimated based on the rotation angle of the engine cover to be estimated relative to the template workpiece and the attitude direction angle of the robot arm in the plane of the robot arm base coordinate system.

[0057] Preferably, it is assumed that the image positioning point of the engine cover to be estimated and the direction vector of the engine cover to be estimated are check_center(u, v) and In step S71, the translation amount pixel_T(u, v) of the engine cover to be estimated in the camera pixel coordinate system is:

[0058] pixel_T(u,v)=check_center(u,v)-temp_center(u,v)

[0059] Set the template workpiece direction vector Translate to the direction vector of the engine cover to be estimated The common starting point is used to obtain the direction vector after translation. The calculation expression is:

[0060]

[0061] Preferably, in step S72, the process of calculating the rotation angle of the engine cover to be estimated relative to the template workpiece based on the translated direction vector and the direction vector of the engine cover to be estimated satisfies:

[0062]

[0063] check_angle=cos -1 (cos(check_angle))

[0064] Among them, cos(check_angle) represents the direction vector of the engine cover to be estimated and the translated direction vector check_angle represents the estimated rotation angle of the engine cover relative to the template workpiece.

[0065] Preferably, the template workpiece image positioning point and the image positioning point of the engine cover to be estimated in the robot arm base coordinate system obtained in step S73 are temp_center(x, y) and check_center(x, y) respectively, and the formula for calculating the translation amount of the engine cover to be estimated in the robot arm base coordinate system based on the template workpiece image positioning point and the image positioning point of the engine cover to be estimated is:

[0066] base_T(x,y)=check_center(x,y)-temp_center(x,y)

[0067] Wherein, base_T(x, y) represents the translation of the engine cover to be estimated in the base coordinates of the robot arm;

[0068] When calculating the robot arm coordinate point in the new robot arm base coordinate after translation based on the estimated translation amount of the engine cover in the robot arm base coordinate and the robot arm coordinate point in the corresponding template workpiece posture, the expression is:

[0069] check_robot(x,y)=temp_robot(x,y)+base_T(x,y)

[0070] Among them, check_robot(x, y) represents the robot arm coordinate point under the new robot arm base coordinate after translation, and temp_robot(x, y) represents the robot arm coordinate point under the corresponding template workpiece posture.

[0071] Preferably, based on the robot coordinate point check_robot (x, y) in the new robot base coordinate system, the rotation angle check_angle of the engine cover to be estimated relative to the template workpiece, and the image positioning point check_center (x, y) of the engine cover to be estimated in the robot base coordinate system, the expression for calculating the final positioning point of the engine cover to be estimated is:

[0072]

[0073] in,

[0074]

[0075]

[0076] Here, let position(x, y) represent the final positioning point of the engine cover to be estimated, then xposition The x-axis coordinate of the final positioning point of the engine cover to be estimated in the robot base coordinate system; position The y-axis coordinate of the final positioning point of the engine cover to be estimated in the robot arm base coordinate system; check_robot Indicates the x-axis coordinates of the image positioning point of the engine cover to be estimated in the robot arm base coordinate system, y check_robot T1 represents the y-axis coordinate of the image positioning point of the engine cover to be estimated in the robot base coordinate system; 3x3 represents the first translation transformation matrix of the image positioning point check_center(x, y) of the engine cover to be estimated in the robot arm base coordinate system; R 3x3 Represents the rotation transformation matrix of the point check_robot(x, y) in the robot base coordinate system; T2 3x3 The second translation transformation matrix representing the image positioning point check_center (x, y) of the engine cover to be estimated in the robot arm base coordinate system.

[0077] Based on the rotation angle check_angle of the engine cover to be estimated relative to the template workpiece and the manipulator attitude angle temp_angle in the manipulator base coordinate system plane, the final attitude angle angle of the engine cover to be estimated is calculated. The angle angle is:

[0078] angle=temp_angle+check_angle.

[0079] Compared with the prior art, the technical solution of the present invention has the following beneficial effects:

[0080] The present invention proposes a method for estimating the grasping posture of an automobile engine hood under a two-dimensional image, which is mainly divided into an offline template workpiece making stage and a real-time online estimation stage. In the offline stage, a two-dimensional hand-eye calibration is first performed to determine the coordinate transformation relationship between a camera pixel coordinate system and a robot base coordinate system, and a transformation matrix is ​​obtained. Then, a template workpiece of the engine hood is made to obtain the posture information of the template workpiece, and the posture information is used together with the obtained transformation matrix. In the real-time online stage, the position of the engine hood to be estimated is obtained in real time to shoot a two-dimensional image, thereby obtaining online posture information. Based on the posture information of the template workpiece and the obtained transformation matrix, the position and attitude direction angle of the engine hood to be estimated in the robot coordinate system are obtained. The robot performs correction based on the obtained posture information and grasps the engine hood. In the above process, the real-time online grasping correction of the camera and the robot is separated. In the early offline stage, the camera shooting can be ended once the engine hood enters the camera field of view, and there is no need to cooperate with the robot synchronously. The implementation process is simple, and the robot can perform robot correction on the real-time posture of each engine hood, thereby improving the grasping posture estimation accuracy. BRIEF DESCRIPTION OF THE DRAWINGS

[0081] Figure 1 A schematic diagram showing a flow chart of a method for estimating the position and posture of a car engine cover captured in a two-dimensional image proposed in Embodiment 1 of the present invention;

[0082] Figure 2 represents the downsampled image sub_img proposed in Embodiment 1 of the present invention (u,v) Schematic diagram of

[0083] Figure 3 A flowchart showing a process proposed in Embodiment 1 of the present invention of performing coarse positioning after downsampling the template workpiece image, obtaining the centroid point of the feature contour by coarse positioning, calculating the center, and obtaining a precise positioning area image based on the center point;

[0084] Figure 4 Indicates the feature contour feature_edge under the coarse positioning proposed in Example 1 of the present invention (u,v) Schematic diagram of

[0085] Figure 5 The image new_img of the precise positioning region captured after the rough positioning proposed in Embodiment 1 of the present invention (u,v) Schematic diagram of

[0086] Figure 6 A flowchart showing the method of performing precise positioning based on a precise positioning area image to obtain a template workpiece image positioning point and a template workpiece image center point proposed in Embodiment 1 of the present invention;

[0087] Figure 7 Indicates the nine feature circles feature_circle selected in Example 1 of the present invention (u,v) Schematic diagram of

[0088] Figure 8 A schematic diagram showing a closed contour formed by nine characteristic circles proposed in Example 1 of the present invention;

[0089] Fig. 9 A schematic diagram showing the template workpiece image positioning points and the template workpiece direction vector obtained in Example 1 of the present invention;

[0090] Fig.10 2 is a flowchart of hand-eye calibration proposed in Embodiment 2 of the present invention;

[0091] Fig.11 A flowchart showing the process of obtaining the final positioning point of the engine hood to be estimated and the final attitude direction angle of the engine hood to be estimated in real time during the online stage proposed in Embodiment 3 of the present invention. DETAILED DESCRIPTION

[0092] The drawings are for illustrative purposes only and should not be construed as limiting the present patent;

[0093] In order to better illustrate the present embodiment, some parts of the drawings may be omitted, enlarged or reduced, and do not represent the actual size;

[0094] It is understandable to those skilled in the art that descriptions of certain well-known contents in the drawings may be omitted.

[0095] The technical solution of the present invention is further described below in conjunction with the accompanying drawings and embodiments.

[0096] The positional relationships described in the drawings are only for illustrative purposes and should not be construed as limiting the present patent;

[0097] Example 1

[0098] like Figure 1 As shown, this embodiment proposes a method for estimating the position and posture of the car engine cover under a two-dimensional image, see Figure 1 , the method specifically comprises the following steps:

[0099] S1. Use the nine-point calibration method to perform two-dimensional hand-eye calibration, establish the coordinate transformation relationship between the camera pixel coordinate system and the robot base coordinate system, and obtain the transformation matrix;

[0100] S2. Obtain an image of the engine cover template workpiece, downsample the template workpiece image and perform coarse positioning, obtain the centroid of the feature contour by coarse positioning, calculate the center, and obtain a fine positioning area image based on the center point;

[0101] In this embodiment, a Hikvision MV-CE200-10GM industrial camera is used to obtain a picture temp_img with a length of 5472 pixels and a width of 3648 pixels perpendicular to the plane of the engine cover. (u,v) And the picture temp_img (u,v) Downsample to 500x500 pixels to get the image sub_img (u,v) , Figure 2 Represents the downsampled image sub_img (u,v) Schematic diagram; Overall, the template workpiece image is downsampled and then roughly positioned, the centroid of the feature contour is obtained by coarse positioning, and the center is calculated. The process of obtaining the precise positioning area image based on the center point is shown in Figure 3 , specifically:

[0102] S21. Assume the obtained template workpiece image is temp_img (u,v) , after downsampling, we get the image sub_img (u,v) ;

[0103] S22. Use OTSU threshold segmentation algorithm to get the image sub_img (u,v)Fuzzy binary image binary (u,v) , for fuzzy binary graph binary (u,v) Perform binary morphological operations to obtain the edge of the contour (u,v) ;

[0104] S23. Based on the top contour shape features of the engine cover, the number of polygon edges is calculated from the contour edge (u,v) Filter out the feature contour feature_edge (u,v) Specifically, the top contour of the engine cover is a pentagonal shape. (u,v) Filter out the feature contour feature_edge (u,v) , feature contour feature_edge (u,v) like Figure 4 shown.

[0105] S24. Calculate feature contour feature_edge (u,v) The first moment M 1,0 , M 0,1 and zero-order moment M 0,0 , get the feature contour feature_edge (u,v) The centroid of edge_centroid(u,v); the calculation formula is:

[0106] u edge_centroid =M 1,0 / M 0,0

[0107] v edge_centroid =M 0,1 / M 0,0

[0108] Among them, u edge_centroid Indicates the u-axis coordinate of the centroid edge_centroid(u, v), v edge_centroid Represents the v-axis coordinate of the centroid point edge_centroid(u,v);

[0109] S25. Sub_img (u,v) The centroid point edge_centroid(u,v) in is converted to the image temp_img (u,v) For the point roi_center(u, v) in , the transformation relationship satisfies:

[0110] u roi_center =u edge_centroid *cols / h1

[0111] v roi_center =v edge_centroid *rows / w1

[0112] Among them, cols represents the picture temp_img (u,v) The pixel length of rows represents the image temp_img (u,v) The pixel width is h1, w1 is the pixel length and pixel width after downsampling; in this embodiment, cols is 5472, rows is 3648, and h1 and w1 are both 500.

[0113] S26. Take roi_center(u, v) as the center point to cut out the precise positioning area image new_img with pixel length h2 and pixel width w2 (u,v) In this embodiment, the intercepted pixel length h2 and pixel width w2 are both 1600, and the precise positioning area image new_img (u,v) like Figure 5 shown.

[0114] Then execute step S3:

[0115] S3. Based on the precise positioning area image, precise positioning is performed to obtain the template workpiece image positioning point and the template workpiece image center point; see the process flow chart of step S3. Figure 6 , specifically:

[0116] S31. Using the method of steps S22 to S24 (OTSU threshold segmentation algorithm, binary morphological operation, feature contour screening), the image new_img of the precise positioning area is segmented. (u,v) Perform the operation to obtain its contour edge new_edge (u,v) , and operate to filter out the feature contour new_feature_edge (u,v) ;

[0117] S32. Calculate the contour roundness and contour distance new_feature_edge (u,v) The distance from the edge of the contour new_edge is calculated based on the distance value. (u,v) Filter out a series of unordered feature contours feature_circle (u,v) ; Specifically, by calculating whether the contour roundness is greater than 0.8 and the contour distance from new_feature_edge (u,v) Is the distance greater than 20 pixels from the contour edge new_edge (u,v) Filter out nine feature circles feature_circle (u,v) , see the schematic diagram Figure 7 .

[0118] S33. For an unordered series of feature contours feature_circle (u,v)Perform least squares circle fitting to obtain each feature contour feature_circle (u,v) The center point of the fitted circle corresponding to circle_center(u, v); specifically, for the 9 unordered feature circles feature_circle (u,v) Perform the least squares circle fitting method to obtain each feature_circle (u,v) The center point of the fitted circle corresponding to circle_center(u, v);

[0119] S34. Sort the unordered series of circle center points circle_center(u, v) to obtain an ordered series of circle center points order_circle_center(u, v); specifically, sort the unordered 9 circle center points circle_center(u, v) to obtain the ordered 9 circle center points order_circle_center(u, v)

[0120] S35. Connect a series of circle center points order_circle_center(u,v) in the order of head to tail to form a new closed feature contour feature_contour (u,v) ; Specifically, connect the 9 center points order_circle_center(u, v) to form a new closed feature contour feature_contour (u,v) , the schematic diagram is as follows Figure 8 shown.

[0121] S36. Obtain a closed feature contour feature_contour in the same manner as step S24 (u,v) The centroid point contour_centroid(u, v), and find the center point fianl_circle_1(u, v) farthest from the centroid point contour_centroid(u, v) from a series of center points (9) order_circle_center(u, v), and find the center point fianl_circle_2(u, v) farthest from the center point fianl_circle_1(u, v) from a series of center points (9) order_circle_center(u, v);

[0122] S37. Take the midpoint middle_center(u, v) of the center point fianl_circle_1(u, v) and the center point fianl_circle_2(u, v), and obtain the template workpiece image positioning point temp_center(u, v) and the center point temp_circle(u, v) through coordinate transformation. The transformation relationship expression is:

[0123] u temp_center =u roi_center -1600+u middle_center

[0124] v temp_center =v roi_center --1600+v middle_center

[0125] u temp_circle =u roi_center -1600+u final_circle_1

[0126] v temp_circle =v roi_center -1600+v final_circle_1

[0127] Among them, u temp_center 、v temp_center They represent the u coordinate value and v coordinate value of the template workpiece image positioning point temp_center(u, v); temp_circle 、v temp_circle They respectively represent the u coordinate value and v coordinate value of the center point temp_circle(u, v) of the template workpiece image.

[0128] Then execute step S4:

[0129] S4. Connect the template workpiece image positioning point and the template workpiece image center point to obtain the template workpiece direction vector;

[0130] In step S4, the template workpiece image positioning point and the template workpiece image circle center point are connected to obtain the expression of the template workpiece direction vector satisfying:

[0131]

[0132] in, Represents the template workpiece direction vector; temp_center(u, v) represents the template workpiece image positioning point, temp_circle(u, v) represents the template workpiece image positioning point, Fig. 9 Schematic diagram showing template workpiece image positioning points and template workpiece direction vectors.

[0133] Then execute step S5:

[0134] S5. Use the robot arm to directly grasp the engine cover under the template workpiece posture, determine the robot arm coordinate point under the corresponding template workpiece posture and the robot arm posture direction angle under the robot arm base coordinate system plane; that is, in actual operation, the corresponding controller will display the coordinate point and posture direction angle when the robot arm grasps, and the robot arm grasps the engine cover to obtain the template workpiece robot arm coordinate point temp_robot (x, y) under the corresponding template posture, and the template workpiece robot arm xy plane posture temp_angle.

[0135] In the offline stage, the template workpiece image positioning point temp_center (u, v) and the template workpiece direction vector are stored. Template workpiece robot arm coordinate point temp_robot (x, y), template workpiece robot arm xy plane posture temp_angle.

[0136] S6. Real-time acquisition of the position of the engine hood to be estimated, taking a two-dimensional image, and determining the image positioning point of the engine hood to be estimated and the direction vector of the engine hood to be estimated by using S2 to S4;

[0137] S7. Based on the image positioning point of the engine hood to be estimated and the direction vector of the engine hood to be estimated, the final positioning point of the engine hood to be estimated and the final attitude direction angle of the engine hood to be estimated are calculated in real time;

[0138] S8. The final positioning point of the engine cover to be estimated and the final attitude direction angle of the engine cover to be estimated are sent to the robotic arm for correction, and the robotic arm grasps the engine cover according to the correction.

[0139] On the whole, it is mainly divided into an offline stage of S1 to S5 and a real-time online stage of S6 to S8. The offline stage is the offline template workpiece production stage. First, a two-dimensional hand-eye calibration is performed to determine the coordinate transformation relationship between the camera pixel coordinate system and the robot base coordinate system to obtain a transformation matrix. Then, a template workpiece of the engine cover is produced to obtain the posture information of the template workpiece, which is kept together with the obtained transformation matrix. In the real-time online stage, the position of the engine cover to be estimated is acquired in real time to shoot a two-dimensional image, thereby obtaining online posture information. Based on the posture information of the template workpiece and the obtained transformation matrix, the position and attitude direction angle of the engine cover to be estimated in the robot coordinate system are obtained. The robot performs correction based on this and grabs the engine cover. In the above process, the camera and the robot are separated for real-time online grasping and correction. In the early offline stage, the camera shooting ends once the engine cover enters the camera field of view, and there is no need to cooperate with the robot to proceed synchronously. The implementation process is simple, and the robot can perform robot correction on the real-time posture of each engine cover, thereby improving the accuracy of grasping posture estimation.

[0140] Example 2

[0141] In this embodiment, the hand-eye calibration process is specifically described. Fig.10 It represents the hand-eye calibration flow chart; in the specific implementation, it is assumed that the coordinates of nine points in the camera pixel coordinate system are obtained by shooting with a camera: (u 1 , v 1 ),...,(u 9 , v 9 ), the coordinates of the nine points in the camera pixel coordinate system correspond to the coordinates in the robot base coordinate system: (x 1 ,y 1 ),...,(x 9 ,y 9 ), for any one of the nine points in the camera pixel coordinate system (u, v) and the coordinates in the robot base coordinate system (x, y), the coordinate transformation relationship satisfies:

[0142]

[0143] The above is the process of nine-point calibration. The camera knows the camera pixel coordinate system, and the robotic arm knows the spatial coordinate system. Therefore, hand-eye calibration is to obtain the coordinate transformation relationship between the camera pixel coordinate system and the spatial robotic arm coordinate system, and to establish the relationship between the camera coordinate system and the robotic arm coordinate system. That is, to equip the robotic arm with eyes so that it can go wherever it wants. The nine-point calibration method directly establishes the coordinate transformation relationship between the camera and the robotic arm, and lets the end of the robotic arm walk through these nine points to obtain the coordinates in the robot coordinate system. At the same time, the camera is used to identify the nine points to obtain pixel coordinates, so that nine sets of corresponding coordinates are obtained.

[0144] in, represents the transformation matrix. A, B, C, D, E, and F are the elements of the transformation matrix.

[0145] Example 3

[0146] In combination with the specific operations of the offline stage mentioned in Examples 1 and 2, the real-time online stage of Example 3 is performed below, and the position of the engine cover to be estimated is acquired in real time to shoot a two-dimensional image, thereby obtaining online posture information, and based on the posture information of the template workpiece and the obtained transformation matrix, the position and posture direction angle of the engine cover to be estimated in the robot arm coordinate system are obtained, specifically:

[0147] In step S7, based on the image positioning point of the engine cover to be estimated and the direction vector of the engine cover to be estimated, the process flow chart of obtaining the final positioning point of the engine cover to be estimated and the final attitude direction angle of the engine cover to be estimated in real time can be found in Fig.11 ,include:

[0148] S71. Calculate the translation amount of the engine cover to be estimated in the camera pixel coordinate system, translate the template workpiece direction vector to the same starting point as the direction vector of the engine cover to be estimated, and obtain the translated direction vector;

[0149] Suppose that the image positioning point of the engine cover to be estimated and the direction vector of the engine cover to be estimated are check_center(u, v) and In step S71, the translation amount pixel_T(u, v) of the engine cover to be estimated in the camera pixel coordinate system is:

[0150] pixel_T(u,v)=check_center(u,v)-temp_center(u,v)

[0151] Set the template workpiece direction vector Translate to the direction vector of the engine cover to be estimated The common starting point is used to obtain the direction vector after translation. The calculation expression is:

[0152]

[0153] S72. Calculating the rotation angle of the engine cover to be estimated relative to the template workpiece based on the translated direction vector and the direction vector of the engine cover to be estimated;

[0154] The process of calculating the rotation angle of the engine cover to be estimated relative to the template workpiece based on the translated direction vector and the direction vector of the engine cover to be estimated satisfies:

[0155]

[0156] check_angle=cos -1 (cos(check_angle))

[0157] Among them, cos(check_angle) represents the direction vector of the engine cover to be estimated and the translated direction vector check_angle represents the estimated rotation angle of the engine cover relative to the template workpiece.

[0158] S73. Using the conversion matrix, the template workpiece image positioning points and the image positioning points of the engine cover to be estimated are converted from the camera pixel coordinate system to the robot base coordinate system to obtain the template workpiece image positioning points and the image positioning points of the engine cover to be estimated in the robot base coordinate system; by the conversion matrix The template workpiece image positioning point temp_center(u, v) and the detection image positioning point check_center(u, v) are converted from the pixel coordinate system to the robot base coordinate system to obtain temp_center(x, y) and check_center(x, y). The calculation formula is as follows:

[0159]

[0160]

[0161] Assume that the template workpiece image positioning point and the image positioning point of the engine cover to be estimated in the robot arm base coordinate system obtained in step S73 are temp_center(x, y) and check_center(x, y) respectively. The formula for calculating the translation amount of the engine cover to be estimated in the robot arm base coordinate system based on the template workpiece image positioning point and the image positioning point of the engine cover to be estimated is:

[0162] base_T(x,y)=check_center(x,y)-temp_center(x,y)

[0163] Wherein, base_T(x, y) represents the translation of the engine cover to be estimated in the base coordinates of the robot arm;

[0164] S74. Calculate the translation amount of the engine cover to be estimated in the robot base coordinate system based on the template workpiece image positioning points and the image positioning points of the engine cover to be estimated in the robot base coordinate system;

[0165] S75. Based on the estimated translation amount of the engine cover in the robot base coordinates and the robot coordinate points in the corresponding template workpiece posture, the robot coordinate points in the new robot base coordinates after translation are calculated; the expression is:

[0166] check_robot(x,y)=temp_robot(x,y)+base_T(x,y)

[0167] Among them, check_robot(x, y) represents the robot arm coordinate point under the new robot arm base coordinate after translation, and temp_robot(x, y) represents the robot arm coordinate point under the corresponding template workpiece posture.

[0168] S76. Calculate the final positioning point of the engine cover to be estimated based on the robot coordinate point in the new robot base coordinate system, the rotation angle of the engine cover to be estimated relative to the template workpiece, and the image positioning point of the engine cover to be estimated in the robot base coordinate system;

[0169] Based on the robot coordinate point check_robot(x, y) in the new robot base coordinate system, the rotation angle check_angle of the engine cover to be estimated relative to the template workpiece, and the image positioning point check_center(x, y) of the engine cover to be estimated in the robot base coordinate system, the expression for calculating the final positioning point of the engine cover to be estimated is:

[0170]

[0171] in,

[0172]

[0173]

[0174] Here, let position(x, y) represent the final positioning point of the engine cover to be estimated, then x position

[0175] The x-axis coordinate of the final positioning point of the engine cover to be estimated in the robot base coordinate system; position The y-axis coordinate of the final positioning point of the engine cover to be estimated in the robot arm base coordinate system; check_robot Indicates the x-axis coordinates of the image positioning point of the engine cover to be estimated in the robot arm base coordinate system, y check_robot T1 represents the y-axis coordinate of the image positioning point of the engine cover to be estimated in the robot base coordinate system; 3x3 represents the first translation transformation matrix of the image positioning point check_center(x, y) of the engine cover to be estimated in the robot arm base coordinate system; R 3x3 Represents the rotation transformation matrix of the point check_robot(x, y) in the robot base coordinate system; T2 3x3 The second translation transformation matrix of the image positioning point check_center(x, y) of the engine cover to be estimated in the robot base coordinate system is represented by T1. 3x3 Transform check_robot(x,y) is translated by (-x cherk_center , -y cherk_center ), then through R 3x3 The transformation check_robot(x, y) is rotated by check_angle degrees about the origin.

[0176] S77. Calculate the final attitude direction angle of the engine cover to be estimated based on the rotation angle of the engine cover to be estimated relative to the template workpiece and the attitude direction angle of the robot arm in the plane of the robot arm base coordinate system.

[0177] Based on the rotation angle check_angle of the engine cover to be estimated relative to the template workpiece and the manipulator attitude angle temp_angle in the manipulator base coordinate system plane, the final attitude angle angle of the engine cover to be estimated is calculated. The angle angle is:

[0178] angle=temp_angle+check_angle.

[0179] Finally, the position (x, y) and angle are given to the robotic arm so that the robotic arm can perform posture correction and grab the engine cover.

[0180] The embodiments are merely examples for clearly illustrating the present invention, and are not intended to limit the embodiments of the present invention. For those skilled in the art, other different forms of changes or modifications can be made based on the above description. It is not necessary and impossible to list all the embodiments here. Any modifications, equivalent substitutions and improvements made within the spirit and principles of the present invention should be included in the protection scope of the claims of the present invention.

Claims

1. A method for estimating the position and posture of a car hood captured in a two-dimensional image, characterized in that: The method comprises the following steps: S1. Use the nine-point calibration method to perform two-dimensional hand-eye calibration, establish the coordinate transformation relationship between the camera pixel coordinate system and the robot base coordinate system, and obtain the transformation matrix; S2. Obtain an image of the engine cover template workpiece, downsample the template workpiece image and perform coarse positioning, obtain the centroid of the feature contour by coarse positioning, calculate the center, and obtain a fine positioning area image based on the center point; S3. Perform precise positioning based on the precise positioning area image to obtain the template workpiece image positioning point and the template workpiece image center point; S4. Connect the template workpiece image positioning point and the template workpiece image center point to obtain the template workpiece direction vector; S5. Use the robot arm to directly grab the engine cover under the template workpiece posture, determine the robot arm coordinate point corresponding to the template workpiece posture and the robot arm posture direction angle under the robot arm base coordinate system plane; S6. Real-time acquisition of the position of the engine hood to be estimated, taking a two-dimensional image, and determining the image positioning point of the engine hood to be estimated and the direction vector of the engine hood to be estimated by using S2 to S4; S7. Based on the image positioning point of the engine hood to be estimated and the direction vector of the engine hood to be estimated, the final positioning point of the engine hood to be estimated and the final attitude direction angle of the engine hood to be estimated are calculated in real time; S8. The final positioning point of the engine cover to be estimated and the final attitude direction angle of the engine cover to be estimated are sent to the robotic arm for correction, and the robotic arm grasps the engine cover according to the correction.

2. The method for estimating the position and posture of a car engine cover captured in a two-dimensional image according to claim 1, characterized in that: In step S1, assume that the coordinates of nine points in the camera pixel coordinate system are obtained by using the camera: (u1, v1), ..., (u9, v9), and the coordinates of the nine points in the camera pixel coordinate system correspond to the coordinates in the robot base coordinate system: (x1, y1), ..., (x9, y9). For the coordinates (u, v) of any one of the nine points in the camera pixel coordinate system and the coordinates (x, y) in the robot base coordinate system, the coordinate conversion relationship satisfies: in, represents the transformation matrix. A, B, C, D, E, and F are the elements of the transformation matrix.

3. The method for estimating the position and posture of the automobile engine cover captured in a two-dimensional image according to claim 2 is characterized in that: In step S2, the template workpiece image is downsampled and then roughly positioned, the centroid of the feature contour is obtained by rough positioning, and the center is calculated. The process of obtaining the precise positioning area image based on the center point is as follows: S21. Assume the obtained template workpiece image is temp_img (u,v) , after downsampling, we get the image sub_img (u,v) ; S22. Use OTSU threshold segmentation algorithm to get the image sub_img (u,v) Fuzzy binary image binary (u,v) , for fuzzy binary graph binary (u,v) Perform binary morphological operations to obtain the edge of the contour (u,v) ; S23. Based on the top contour shape features of the engine cover, the number of polygon edges is calculated from the contour edge (u,v) Filter out the feature contour feature_edge (u,v) ; S24. Calculate feature contour feature_edge (u,v) The first moment M 1,0 , M 0,1 and zero-order moment M 0,0 , get the feature contour feature_edge (u,v) The centroid of edge_centroid(u,v); the calculation formula is: u edge_centroid =M 1,0 / M 0,0 in edge_centroid =M 0,1 / M 0,0 Among them, u edge_centroid Indicates the u-axis coordinate of the centroid edge_centroid(u, v), v edge_centroid Represents the v-axis coordinate of the centroid point edge_centroid(u,v); S25. Sub_img (u,v) The centroid point edge_centroid(u,v) in is converted to the image temp_img (u,v) For the point roi_center(u, v) in , the transformation relationship satisfies: you roi_center =u edae_centroid *cols / h1 v roi_center =v edge_centroid *rows / w1 Among them, cols represents the picture temp_img (u,v) The pixel length of rows represents the image temp_img (u,v) The pixel width of h1 and w1 are the pixel length and pixel width after downsampling; S26. Take roi_center(u, v) as the center point to cut out the precise positioning area image new_img with pixel length h2 and pixel width w2 (u,v) .

4. The method for estimating the position and posture of the automobile engine cover captured in a two-dimensional image according to claim 3 is characterized in that: The process of performing precise positioning based on the precise positioning area image in step S3 to obtain the template workpiece image positioning point and the template workpiece image center point is as follows: S31. In the same manner as steps S22 to S24, the image new_img of the precise positioning area is (u,v) Perform the operation to obtain its contour edge new_edge (u,v) , and operate to filter out the feature contour new_feature_edge (u,v) ; S32. Calculate the contour roundness and contour distance new_feature_edge (u,v) The distance from the edge of the contour new_edge is calculated based on the distance value. (u,v) Filter out a series of unordered feature contours feature_circle (u,v) ; S33. For an unordered series of feature contours feature_circle (u,v) Perform least squares circle fitting to obtain each feature contour feature_circle (u,v) The center point of the fitted circle corresponding to circle_center(u, v); S34. Sort the unordered series of circle center points circle_center(u, v) to obtain an ordered series of circle center points order_circle_center(u, v); S35. Connect a series of circle center points order_circle_center(u,v) in the order of head to tail to form a new closed feature contour feature_contour (u,v) ; S36. Obtain a closed feature contour feature_contour in the same manner as step S24 (u,v) Find the center point contour_centroid(u, v) of the circle from the center point order_circle_center(u, v), and find the center point fianl_circle_1(u, v) farthest from the center point contour_centroid(u, v). Find the center point fianl_circle_2(u, v) farthest from the center point fianl_circle_1(u, v) from the center point order_circle_center(u, v). S37. Take the midpoint middle_center(u, v) of the center point fianl_circle_1(u, v) and the center point fianl_circle_2(u, v), and obtain the template workpiece image positioning point temp_center(u, v) and the center point temp_circle(u, v) through coordinate transformation. The transformation relationship expression is: u temp_center =u roi_center -h2+u middle_center v temp_center =v roi_center -w2+v middle_center u temp_circle =u roi_center -h2+u final_circle_1 v temp_circle =v roi_center -w2+v final_circle_1 Among them, u temp_center 、v temp_center They represent the u coordinate value and v coordinate value of the template workpiece image positioning point temp_center(u,v); temp_circle 、v temp_circle They respectively represent the u coordinate value and v coordinate value of the center point temp_circle(u, v) of the template workpiece image.

5. The method for estimating the position and posture of the automobile engine cover captured in a two-dimensional image according to claim 4 is characterized in that: In step S4, the template workpiece image positioning point and the template workpiece image circle center point are connected to obtain the expression of the template workpiece direction vector satisfying: in, Represents the template workpiece direction vector; temp_center(u, v) represents the template workpiece image positioning point, and temp_circle(u, v) represents the template workpiece image positioning point.

6. The method for estimating the position and posture of the automobile engine cover captured in a two-dimensional image according to claim 5, characterized in that: In step S5, the robot arm is used to directly grasp the engine cover in the template workpiece posture, and the robot arm coordinate points corresponding to the template workpiece posture and the robot arm posture direction angle in the robot arm base coordinate system plane are respectively temp_robot(x, y) and temp_angle; In step S7, based on the image positioning point of the engine hood to be estimated and the direction vector of the engine hood to be estimated, the process of calculating and acquiring the final positioning point of the engine hood to be estimated and the final attitude direction angle of the engine hood to be estimated in real time includes: S71. Calculate the translation amount of the engine cover to be estimated in the camera pixel coordinate system, translate the template workpiece direction vector to the same starting point as the direction vector of the engine cover to be estimated, and obtain the translated direction vector; S72. Calculating the rotation angle of the engine cover to be estimated relative to the template workpiece based on the translated direction vector and the direction vector of the engine cover to be estimated; S73. Using the transformation matrix, the template workpiece image positioning points and the image positioning points of the engine cover to be estimated are transformed from the camera pixel coordinate system to the robot base coordinate system to obtain the template workpiece image positioning points and the image positioning points of the engine cover to be estimated in the robot base coordinate system; S74. Calculate the translation amount of the engine cover to be estimated in the robot base coordinate system based on the template workpiece image positioning points and the image positioning points of the engine cover to be estimated in the robot base coordinate system; S75. Calculate the robot arm coordinate point in the new robot arm base coordinate after translation based on the estimated translation amount of the engine cover in the robot arm base coordinate and the robot arm coordinate point in the corresponding template workpiece posture; S76. Calculate the final positioning point of the engine cover to be estimated based on the robot coordinate point in the new robot base coordinate system, the rotation angle of the engine cover to be estimated relative to the template workpiece, and the image positioning point of the engine cover to be estimated in the robot base coordinate system; S77. Calculate the final attitude direction angle of the engine cover to be estimated based on the rotation angle of the engine cover to be estimated relative to the template workpiece and the attitude direction angle of the robot arm in the plane of the robot arm base coordinate system.

7. The method for estimating the position and posture of a car engine cover captured in a two-dimensional image according to claim 6, characterized in that: Suppose that the image positioning point of the engine cover to be estimated and the direction vector of the engine cover to be estimated are check_center(u, v) and In step S71, the translation amount pixel_T(u, v) of the engine cover to be estimated in the camera pixel coordinate system is: pixel_T(u,v)=check_center(u,v)-temp_center(u,v) Set the template workpiece direction vector Translate to the direction vector of the engine cover to be estimated The common starting point is used to obtain the direction vector after translation. The calculation expression is:

8. The method for estimating the position and posture of a car engine cover captured in a two-dimensional image according to claim 7, characterized in that: In step S72, the process of calculating the rotation angle of the engine cover to be estimated relative to the template workpiece based on the translated direction vector and the direction vector of the engine cover to be estimated satisfies: check_angle=cos -1 (cos(check_angle)) Among them, cos(check_angle) represents the direction vector of the engine cover to be estimated and the translated direction vector check_angle represents the estimated rotation angle of the engine cover relative to the template workpiece.

9. The method for estimating the position and posture of the automobile engine cover captured in a two-dimensional image according to claim 8, characterized in that: The template workpiece image positioning point and the image positioning point of the engine cover to be estimated in the robot arm base coordinate system obtained in step S73 are temp_center(x, y) and check_center(x, y) respectively. The formula for calculating the translation amount of the engine cover to be estimated in the robot arm base coordinate system based on the template workpiece image positioning point and the image positioning point of the engine cover to be estimated is: base_T(x,y)=check_center(x,y)-temp_center(x,y) Wherein, base_T(x, y) represents the translation of the engine cover to be estimated in the base coordinates of the robot arm; When calculating the robot arm coordinate point in the new robot arm base coordinate after translation based on the estimated translation amount of the engine cover in the robot arm base coordinate and the robot arm coordinate point in the corresponding template workpiece posture, the expression is: check_robot(x,y)=temp_robot(x,y)+base_T(x,y) Among them, check_robot(x, y) represents the robot arm coordinate point under the new robot arm base coordinate after translation, and temp_robot(x, y) represents the robot arm coordinate point under the corresponding template workpiece posture.

10. The method for estimating the position and posture of a car engine cover captured in a two-dimensional image according to claim 9, characterized in that: Based on the robot coordinate point check_robot(x, y) in the new robot base coordinate system, the rotation angle check_angle of the engine cover to be estimated relative to the template workpiece, and the image positioning point check_center(x, y) of the engine cover to be estimated in the robot base coordinate system, the expression for calculating the final positioning point of the engine cover to be estimated is: in, Here, let position(x, y) represent the final positioning point of the engine cover to be estimated, then x position The x-axis coordinate of the final positioning point of the engine cover to be estimated in the robot base coordinate system; position The y-axis coordinate of the final positioning point of the engine cover to be estimated in the robot arm base coordinate system; check_robot Indicates the x-axis coordinates of the image positioning point of the engine cover to be estimated in the robot arm base coordinate system, y check_robot T1 represents the y-axis coordinate of the image positioning point of the engine cover to be estimated in the robot base coordinate system; 3x3 represents the first translation transformation matrix of the image positioning point check_center(x, y) of the engine cover to be estimated in the robot arm base coordinate system; R 3x3 Represents the rotation transformation matrix of the point check_robot(x, y) in the robot base coordinate system; T2 3x3 A second translation transformation matrix representing the image positioning point check_center (x, y) of the engine cover to be estimated in the robot arm base coordinate system; Based on the rotation angle check_angle of the engine cover to be estimated relative to the template workpiece and the manipulator attitude angle temp_angle in the manipulator base coordinate system plane, the final attitude angle angle of the engine cover to be estimated is calculated. The angle angle is: angle=temp_angle+check_angle.

Citation Information

Patent Citations

  • Complex surface part three-dimensional measurement system and method

    CN107270833A

  • Irregular curved surface tracking method and system based on matrix feature learning neural network

    CN108717262A