CN111515944B - Automatic calibration method for non-fixed path robot - Google Patents
Automatic calibration method for non-fixed path robot Download PDFInfo
- Publication number
- CN111515944B CN111515944B CN202010237100.1A CN202010237100A CN111515944B CN 111515944 B CN111515944 B CN 111515944B CN 202010237100 A CN202010237100 A CN 202010237100A CN 111515944 B CN111515944 B CN 111515944B
- Authority
- CN
- China
- Prior art keywords
- calibration
- robot
- point
- camera
- path
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 74
- 239000011159 matrix material Substances 0.000 claims abstract description 11
- 238000006243 chemical reaction Methods 0.000 claims abstract description 10
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 5
- 230000008569 process Effects 0.000 claims description 25
- 230000001174 ascending effect Effects 0.000 claims description 10
- 238000013519 translation Methods 0.000 claims description 6
- 238000005070 sampling Methods 0.000 claims description 4
- 238000012163 sequencing technique Methods 0.000 claims description 4
- 230000008901 benefit Effects 0.000 abstract description 7
- 238000012545 processing Methods 0.000 description 3
- 230000001960 triggered effect Effects 0.000 description 3
- 206010063385 Intellectualisation Diseases 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 238000005286 illumination Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 230000000630 rising effect Effects 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000003754 machining Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000009828 non-uniform distribution Methods 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 230000007115 recruitment Effects 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1679—Programme controls characterised by the tasks executed
- B25J9/1692—Calibration of manipulator
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J19/00—Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
- B25J19/02—Sensing devices
- B25J19/04—Viewing devices
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1628—Programme controls characterised by the control loop
- B25J9/1653—Programme controls characterised by the control loop parameters identification, estimation, stiffness, accuracy, error analysis
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1664—Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Manipulator (AREA)
Abstract
The invention provides an automatic calibration method for a non-fixed path robot, which comprises the following steps: s1, obtaining an optimal calibration initial position; s2, determining a hemispherical calibration space by taking the center of the calibration plate as a sphere center and the distance between the optimal calibration initial position and the center of the calibration plate as a radius; s3, determining a random calibration path in a hemispherical calibration space; s4, carrying out automatic calibration according to the random calibration path; s5, calculating to obtain a conversion matrix through an Eye-in-Hand calibration algorithm; the method has the advantages of high calibration efficiency, high calibration precision, low requirement on professional skills of personnel and small influence of human factors.
Description
Technical Field
The invention relates to the technical field of industrial robots, in particular to an automatic calibration method for a robot with a non-fixed path.
Background
At present, in order to realize the precision and the intellectualization of an industrial robot, a robot vision system is required to be relied on.
The first step in the application of robot vision, which is also particularly important, is the calibration of the robot hand and eye. Robot vision systems are generally classified into Eye-in-Hand systems and Eye-to-Hand systems according to the relative positions of cameras and robots. The Eye-in-Hand system is characterized in that a camera is arranged on a flange plate at the tail end of a robot and moves along with the movement of the robot; and the Eye-to-Hand system is characterized in that a camera is arranged outside the robot body and does not move along with the movement of the robot body in work. The Eye-in-Hand system is more commonly used, and the accuracy of the Hand-Eye calibration of the vision system determines the machining and manufacturing precision of the robot and is mainly determined by the accuracy of the Hand-Eye calibration. Therefore, the robot hand-eye calibration is particularly important.
The basic method for calibrating the hands and eyes of the existing robot is that the robot is controlled manually to carry out multiple pose transformations, a camera is triggered manually to take a picture in each pose transformation to obtain a calibration plate image and record corresponding pose parameters of the robot, and finally a rotation matrix R and a translation vector t in a conversion matrix are obtained through calculation and derivation to obtain a final calibration result.
The defects and shortcomings of the prior art are as follows:
1. the operation is relatively complicated and time-consuming
In the traditional calibration process, the robot is controlled manually to acquire different poses each time, and the pose of the robot is readjusted to acquire a new calibration image again when the calibration plate image is identified to be failed. Thus, the operation is complicated and the time consumption is high. It usually takes half an hour to acquire 10-15 images.
2. High requirement on the professional skill of the operator
Because the existing calibration technology needs to adjust the robot to acquire and identify the calibration plate images in different poses, and parameters for image processing need to be adjusted in the process of identifying the calibration plate images, which may be influenced by the surrounding environment (such as illumination conditions), operators are required to understand the knowledge of the robot in operation and the knowledge of the image processing. Therefore, the comprehensive talents are few, which causes the problem of difficult enterprise recruitment and also hinders the popularization of the visual application of the robot.
3. In the prior art, the calibration precision is greatly influenced by human factors
The method comprises the steps that an operator arbitrarily controls a robot to calibrate at different positions, the change of the positions is large, the change of illumination is large, or a photographing position is not in the focus of a camera, so that calibration deviation is large, the robot is manually operated to obtain calibration images at different positions, the camera is fixed at the tail end of the robot, in actual photographing, if the robot is not stopped and photographing is carried out, image blurring is inevitably generated due to shaking of the robot, and finally the pixel coordinates of corner points are inaccurate, so that a calibration result is influenced.
Disclosure of Invention
In view of the defects of the prior art, the invention aims to provide the automatic calibration method of the non-fixed path robot, which has the advantages of high calibration efficiency, high calibration precision, low requirement on professional skills of personnel and small influence of human factors.
In order to achieve the purpose, the invention adopts the following technical scheme:
an automatic calibration method for a non-fixed path robot comprises the following steps:
s1, obtaining an optimal calibration initial position;
s2, determining a hemispherical calibration space by taking the center of the calibration plate as a sphere center and the distance between the optimal calibration initial position and the center of the calibration plate as a radius;
s3, determining a random calibration path in a hemispherical calibration space;
s4, carrying out automatic calibration according to the random calibration path;
and S5, calculating a conversion matrix through an Eye-in-Hand calibration algorithm.
In the automatic calibration method for the non-fixed path robot, step S1 includes:
s101, placing a calibration plate on a platform of a robot working space, fixing a 3D camera at the tail end of the robot, moving the 3D camera to be right above the calibration plate, and enabling the central line of a lens of the 3D camera to be vertically opposite to the center of the calibration plate;
s102, starting automatic calibration, driving the 3D camera to ascend at a constant speed by the robot, and continuously photographing the 3D camera in the ascending process to obtain a calibration plate image;
and S103, calculating the matching scores of the images in a template matching mode, obtaining the image with the highest matching score, and setting the photographing position corresponding to the image with the highest matching score as the optimal calibration initial position.
In the automatic calibration method for the non-fixed path robot, in step S102, the uniform speed is 0.3m/S, and the photographing frequency in the ascending process is 30 fps.
In the automatic calibration method for the non-fixed path robot, in step S103, in the process that the 3D camera ascends at a constant speed, matching scores of two images before and after are compared, when the matching score of a certain image is higher than the matching scores of the previous image and the next image, the image is determined as the image with the highest matching score, and the 3D camera is moved to the photographing position corresponding to the image.
In the automatic calibration method for the non-fixed path robot, step S3 includes:
s301, randomly acquiring a preset number of calibration points on the hemispherical calibration space according to a Marsaglia method on the three-dimensional spherical surface;
s302, a path sequentially connecting other calibration points is generated by taking the optimal calibration initial position as a first calibration point, and the path is a random calibration path.
In the automatic calibration method for the non-fixed path robot, in step S301, the method for randomly obtaining the calibration point on the hemispherical calibration space according to the Marsaglia method on the three-dimensional spherical surface includes:
s3011, random sampling to generate a pair of uniformly distributed random numbers u, v; wherein u, v are in the range of [ -1,1 ];
s3012, calculating a value of r ^2 according to a formula of r ^2 = u ^2+ v ^2, and if r ^2 is more than or equal to 1, re-executing the step S3011 until r ^2 < 1 is met;
s3013, calculating three coordinate values of the calibration point according to the following formula:
x=2*u*sqrt(1- r^2)*R
y=2*v*sqrt(1- r^2)*R
z=(1-2* r^2)*R
wherein, x is the x coordinate value of the hemispherical calibration space coordinate system of the calibration point, y is the y coordinate value of the hemispherical calibration space coordinate system of the calibration point, z is the z coordinate value of the hemispherical calibration space coordinate system of the calibration point, and R is the radius of the hemispherical calibration space.
In the automatic calibration method for the robot with the non-fixed path, in step S302, the method for generating a path sequentially connecting other calibration points with the optimal calibration initial position as the first calibration point includes:
s3021, converting the coordinates of each calibration point into coordinates under a robot base coordinate system according to the coordinate conversion relation between each point of the spherical surface and the optimal calibration initial position;
s3022, comparing the X, Y value of each calibration point coordinate with the absolute value of the X, Y value of the optimal calibration initial position coordinate, and sequencing the calibration points from small to large according to the sum of the X, Y absolute values; wherein, the X, Y value is the X-axis coordinate value and the Y-axis coordinate value of the calibration point in the robot base coordinate system respectively;
and S3023, sequentially connecting the calibration points according to the sequence to generate the path.
In the automatic calibration method for the non-fixed path robot, the preset number is 15.
In the automatic calibration method for the non-fixed path robot, step S4 includes:
s401, taking the central point of the calibration plate as a starting point and each calibration point as an end point, and calculating a normal vector b of each calibration point in a hemispherical calibration space;
s402, calculating an included angle a between a normal vector b of each calibration point and a normal vector b of the optimal calibration initial position;
s403, sequentially moving the 3D camera to each calibration point along the random calibration path, and adjusting the posture of the robot at the to-be-calibrated point according to the optimal pose of the robot at the initial calibration position and the included angle a of the to-be-calibrated point to enable the lens center line of the 3D camera to be positioned on the normal vector b of the to-be-calibrated point;
s404, photographing at each calibration point and recording the pose of the robot at the photographing time.
In the automatic calibration method for the non-fixed path robot, in step S5, the pose data of the robot at each calibration point is substituted into the equationSolving is carried out to obtain a rotation matrixAnd translation vector。
Has the advantages that:
the invention provides an automatic calibration method of a non-fixed path robot, which has the following advantages:
1. the whole calibration process is automatically completed, excessive dependence on operators is not needed, the hands and eyes can be automatically calibrated only by placing a calibration plate and starting an automatic calibration program by one key, the calibration is convenient and quick, the requirement on professional skills of the operators is low, and the popularization of robot vision application is facilitated;
2. the calibration path in the hemispherical calibration space is automatically and randomly generated, and automatic calibration is carried out along the calibration path, so that the required time is greatly reduced, and the calibration efficiency is high;
3. because the calibration process is automatically finished and is slightly influenced by human factors, the calibrated result is more accurate and stable.
Drawings
Fig. 1 is a flowchart of an automatic calibration method for a non-fixed-path robot according to the present invention.
Fig. 2 is an initial state diagram of the robot during calibration.
FIG. 3 is a diagram of the index point normal vector b.
FIG. 4 is a top view of a set of random index point distributions.
Detailed Description
Reference will now be made in detail to embodiments of the present invention, examples of which are illustrated in the accompanying drawings, wherein like reference numerals refer to the same or similar elements or elements having the same or similar function throughout. The embodiments described below with reference to the accompanying drawings are illustrative only for the purpose of explaining the present invention, and are not to be construed as limiting the present invention.
In the description of the present invention, it is to be understood that the terms "center", "longitudinal", "lateral", "length", "width", "thickness", "upper", "lower", "front", "rear", "left", "right", "vertical", "horizontal", "top", "bottom", "inner", "outer", "clockwise", "counterclockwise", and the like, indicate orientations and positional relationships based on those shown in the drawings, and are used only for convenience of description and simplicity of description, and do not indicate or imply that the device or element being referred to must have a particular orientation, be constructed and operated in a particular orientation, and thus, should not be considered as limiting the present invention. Furthermore, the terms "first", "second" and "first" are used for descriptive purposes only and are not to be construed as indicating or implying relative importance or implicitly indicating the number of technical features indicated. Thus, features defined as "first", "second", may explicitly or implicitly include one or more of the described features. In the description of the present invention, "a plurality" means two or more unless specifically defined otherwise.
The following disclosure provides embodiments or examples for implementing different configurations of the invention. To simplify the disclosure of the present invention, the components and arrangements of specific examples are described below. Of course, they are merely examples and are not intended to limit the present invention. Furthermore, the present invention may repeat reference numerals and/or letters in the various examples, such repetition is for the purpose of simplicity and clarity and does not in itself dictate a relationship between the various embodiments and/or configurations discussed. In addition, the present invention provides examples of various specific processes and materials, but one of ordinary skill in the art may recognize applications of other processes and/or uses of other materials.
Referring to fig. 1-4, the present invention provides an automatic calibration method for an unfixed path robot, including the steps of:
s1, obtaining an optimal calibration initial position;
s2, determining a hemispherical calibration space by taking the center of the calibration plate as a sphere center and the distance between the optimal calibration initial position and the center of the calibration plate as a radius;
s3, determining a random calibration path in a hemispherical calibration space;
s4, carrying out automatic calibration according to the random calibration path;
and S5, calculating a conversion matrix through an Eye-in-Hand calibration algorithm.
Each step is described in detail below.
S1, obtaining an optimal calibration initial position.
When the calibration plate is positioned at the focal point of the camera, the shot image is most clear, the overall calibration precision is improved, and the optimal calibration initial position needs to be found out firstly to ensure that a clear image is obtained when the calibration point is subsequently calibrated.
Specifically, the method for obtaining the optimal calibration initial position includes the steps of:
s101, a calibration plate is placed on a platform of a robot working space, a 3D camera is fixed at the tail end of the robot and moves to a position right above the calibration plate, and the central line of a lens of the 3D camera is vertically opposite to the center of the calibration plate (as shown in figure 2, 1 is the calibration plate, 2 is the robot, and 3 is the 3D camera).
And S102, starting automatic calibration, driving the 3D camera to ascend at a constant speed by the robot, and continuously photographing the 3D camera in the ascending process to acquire images of the calibration plate.
Wherein the speed of uniform ascending is generally 0.25-0.35m/s, and the photographing frequency in the ascending process is 25-35fps, in the preferred embodiment, the speed of uniform ascending is 0.3m/s, and the photographing frequency in the ascending process is 30 fps.
And recording the position data of the photographing moment while photographing.
And S103, calculating the matching scores of the images in a template matching mode, obtaining the image with the highest matching score, and setting the photographing position corresponding to the image with the highest matching score as the optimal calibration initial position.
The specific process of calculating the matching score of each image in a template matching mode comprises the following steps: firstly, acquiring a standard calibration plate image (which can be obtained by downloading on the internet or other ways), and acquiring the outline of the calibration plate pattern by a canny edge processing method; then, the contour of the calibration plate pattern is obtained by canny edge processing similarly from the image acquired by the 3D camera, and the obtained contour is compared with the contour of the standard image, and the closer the contour is to the standard contour, the higher the matching score is, and the matching score is from 0 to 1.
In a first embodiment, the lowest point and the highest point of the moving process may be preset, then the 3D camera is moved from the lowest point to the highest point, an image with the highest matching score in the images acquired in the process is found, and finally the 3D camera is moved to the photographing position corresponding to the image with the highest matching score.
In a second embodiment, a lowest point of the moving process may be preset, and then the 3D camera is raised from the lowest point, matching scores of two images before and after the 3D camera is compared in the process that the 3D camera is raised at a constant speed, when the matching score of a certain image is higher than the matching scores of the previous image and the next image, the image is determined as the image with the highest matching score, and the 3D camera is moved to a photographing position corresponding to the image. Because the matching scores of the front image and the rear image are compared in real time in the rising process, the image with the highest matching score can be found immediately, so that the rising is stopped in time, and compared with the first implementation mode, the time is saved.
In addition, after the image with the highest matching score is found by adopting the second embodiment, the photographing position of the previous image of the image can be taken as the lowest point, the photographing position of the next image can be taken as the highest point, the second image with the highest matching score is obtained by adopting the first embodiment with higher photographing frequency, and the photographing position of the image is taken as the final optimal calibration initial position, so that the accuracy of the obtained optimal calibration initial position is higher.
And S2, determining a hemispherical calibration space by taking the center of the calibration plate as a sphere center and the distance between the optimal calibration initial position and the center of the calibration plate as a radius.
Because the distance between the optimal initial calibration position and the center of the calibration plate is the focal length of the 3D camera, the distances from all points on the hemispherical calibration space to the center of the calibration plate are the focal lengths of the 3D camera, calibration points are obtained on the hemispherical calibration space in the subsequent calibration process, and when the 3D camera moves to the calibration points, the center of the calibration plate can be ensured to be always at the focal point of the 3D camera, and the clearest photographed image is obtained.
And S3, determining a random calibration path in a hemispherical calibration space.
The method specifically comprises the following steps:
s301, randomly acquiring a preset number of calibration points on a hemispherical calibration space according to a Marsaglia method on the three-dimensional spherical surface.
The method specifically comprises the following steps of S3011, S3011 and S3011:
s3011, random sampling to generate a pair of uniformly distributed random numbers u, v; wherein u, v are in the range of [ -1,1 ]; namely, two random numbers u, v are generated between [ -1,1] by using a random function;
s3012, calculating a value of r ^2 according to a formula of r ^2 = u ^2+ v ^2, and if r ^2 is more than or equal to 1, re-executing the step S3011 until r ^2 < 1 is met;
s3013, calculating three coordinate values of the calibration point according to the following formula:
x=2*u*sqrt(1- r^2)*R
y=2*v*sqrt(1- r^2)*R
z=(1-2* r^2)*R
wherein, x is the x coordinate value of the hemispherical calibration space coordinate system of the calibration point, y is the y coordinate value of the hemispherical calibration space coordinate system of the calibration point, z is the z coordinate value of the hemispherical calibration space coordinate system of the calibration point, and R is the radius of the hemispherical calibration space. The origin of the hemispherical calibration space coordinate system is the central point of the calibration plate, the x axis and the y axis are on the plane where the calibration plate is located, and the z axis is vertical to the calibration plate.
The Marsaglia method on the three-dimensional spherical surface is a method based on conversion sampling, and has the advantages that: the collected points are randomly and non-uniformly distributed, so that different paths in each calibration are ensured, the non-fixed path calibration can be better realized, the introduction of system errors caused by the adoption of a fixed path is avoided, and the calibration precision is further improved.
Preferably, the preset number is 15 (excluding the optimal calibration initial position). Generally, the larger the number of images acquired, the greater the calibration accuracy, but the lower the calibration efficiency, and when 15 images are acquired, the better the balance between the calibration accuracy and the calibration efficiency.
S302, a path sequentially connecting other calibration points is generated by taking the optimal calibration initial position as a first calibration point, and the path is a random calibration path.
The method for generating the path sequentially connecting other calibration points by using the optimal calibration initial position as the first calibration point comprises the following steps of S3021, S3022, and S3023:
s3021, converting the coordinates of each calibration point into coordinates under a robot base coordinate system according to the coordinate conversion relation between each point of the spherical surface and the optimal calibration initial position;
the coordinate of the optimal initial calibration position under the robot base coordinate system is known, and when the optimal initial calibration position is obtained, the upper computer can communicate with the robot in a network port communication mode and obtain the pose (including position coordinates and rotation angles of all axes) of the robot at the moment;
s3022, comparing the X, Y value of each calibration point coordinate with the absolute value of the X, Y value of the optimal calibration initial position coordinate, and sequencing the calibration points from small to large according to the sum of the X, Y absolute values; wherein, the X, Y value is the X-axis coordinate value and the Y-axis coordinate value of the calibration point in the robot base coordinate system respectively;
and S3023, sequentially connecting the calibration points according to the sequence to generate paths.
Fig. 4 is a top view of a distribution map of a set of calibration points obtained in the above manner, and the advantage of producing a random calibration path in this manner is: the calibration points are obtained in a random non-uniform distribution mode, so that the calibration precision is prevented from being influenced by excessive concentration of the calibration points in a certain area; the method for rapidly calculating and comparing X, Y sum of absolute values is used for sequencing, so that the calibration sequence of the robot is optimized, the average moving amplitude of the robot between two positioning points can be reduced, the total moving distance in the calibration process is smaller, and the calibration efficiency is improved.
Here, because the average moving amplitude of the robot between the two positioning points is small, the vibration generated after the movement is small, and the vibration stops faster, and in order to ensure the definition of the picture, the shooting can be performed after the vibration stops, so the average waiting time for waiting for the vibration to stop is short, and the calibration efficiency can be improved.
In some embodiments, a vibration sensor can be arranged at the tail end of the robot or on the 3D camera, the vibration sensor is used for measuring the vibration of the end part of the robot, when the vibration is weakened to be within a threshold range, the vibration is judged to be stopped, and at the moment, the upper computer sends a signal to the 3D camera, so that the 3D camera is triggered to take a picture.
And S4, carrying out automatic calibration according to the random calibration path.
The step S4 specifically includes:
s401, taking the central point of the calibration plate as a starting point and each calibration point as an end point, and calculating a normal vector b (shown in figure 3) of each calibration point in a hemispherical calibration space;
s402, calculating an included angle a between a normal vector b of each calibration point and a normal vector b of the optimal calibration initial position;
s403, sequentially moving the 3D camera to each calibration point along a random calibration path, and adjusting the posture of the robot at the to-be-calibrated point according to the optimal pose of the robot at the initial calibration position and the included angle a of the to-be-calibrated point to enable the lens center line of the 3D camera to be positioned on the normal vector b of the to-be-calibrated point;
s404, photographing at each calibration point and recording the pose of the robot at the photographing time.
After the calibration path is determined, the robot drives the 3D camera to reach the position of each calibration point, but the calibration is only simple translation, so that the calibration of the calibration plate beyond the visual field of the camera may fail, and here, the normal vector b and the included angle a of the calibration point are calculated to adjust the position and the attitude of the 3D camera so that the lens of the 3D camera faces the center of the calibration plate, so that the image of the calibration plate can be captured more effectively for calibration.
And S5, calculating a conversion matrix through an Eye-in-Hand calibration algorithm.
In the Eye-In-Hand configuration mode, the calibration plate is fixed relative to the robot base coordinate system, and the pose of the tail end of the robot and the pose of the calibration plate relative to the camera need to be recorded when the robot moves. For any two poses in the moving process of the robot, the following formula is established:
wherein R represents a robot base coordinate system, E represents a robot end coordinate system, C represents a camera coordinate system, and O represents a robot end coordinate systemThe coordinate system of the calibration plate is calibrated,、is the pose of the tail end of the robot under the robot base coordinate system,、is the pose of the 3D camera under the terminal coordinate system of the robot,、is the pose of the calibration plate under the camera coordinate system. After the above formula is converted, the following can be obtained:
wherein,representing the pose of the 3D camera with respect to the robot tip or the pose of the camera with respect to the robot base.
Substituting pose data of the robot at each calibration point into an equationSolving is carried out to obtain a rotation matrixAnd translation vector。
From the above, the automatic calibration method for the non-fixed path robot has the following advantages:
1. the whole calibration process is automatically completed, excessive dependence on operators is not needed, the hands and eyes can be automatically calibrated by only placing a calibration plate and starting an automatic calibration program by one key, the calibration is convenient and quick, and the requirement on the professional skills of the operators is low; the robot is operated to different calibration positions to calibrate and adjust parameters required by calibration without depending on operators in a traditional mode; therefore, the use threshold of the robot vision system is greatly reduced, great popularization is facilitated, and production intellectualization is promoted;
2. the calibration path in the hemispherical calibration space is automatically and randomly generated and automatically calibrated along the calibration path, so that the required time is greatly reduced and can be shortened to one third of the conventional calibration method, and the calibration efficiency is high;
3. because the calibration pose of the traditional calibration method is controlled by the operation of an operator, the difference of the positions placed by different operators is large, even if the operator is the same, the placed positions also have difference, the traditional method is that the operator operates the robot to reach the calibration position and then triggers a camera to shoot to obtain a calibration image, sometimes the robot does not stop completely to obtain the image, so that the obtained image is not clear enough, and the accuracy and the stability of the calibration result are influenced; compared with the prior art, the automatic calibration method can realize that the robot stops (and stops vibrating) and then sends a signal to the camera, so that the camera is triggered to take a picture, the image of the calibration plate is obtained, and calibration is carried out, so that the calibration result is more accurate and stable, and is less influenced by human factors.
In summary, although the present invention has been described with reference to the preferred embodiments, the above-described preferred embodiments are not intended to limit the present invention, and those skilled in the art can make various changes and modifications without departing from the spirit and scope of the present invention, which are substantially the same as the present invention.
Claims (7)
1. An automatic calibration method for a non-fixed path robot is characterized by comprising the following steps:
s1, obtaining an optimal calibration initial position;
s2, determining a hemispherical calibration space by taking the center of the calibration plate as a sphere center and the distance between the optimal calibration initial position and the center of the calibration plate as a radius;
s3, determining a random calibration path in a hemispherical calibration space;
s4, carrying out automatic calibration according to the random calibration path;
s5, calculating to obtain a conversion matrix through an Eye-in-Hand calibration algorithm;
step S3 includes:
s301, randomly acquiring a preset number of calibration points on the hemispherical calibration space according to a Marsaglia method on the three-dimensional spherical surface;
s302, generating a path sequentially connected with other calibration points by taking the optimal calibration initial position as a first calibration point, wherein the path is a random calibration path;
in step S302, the method for generating a path sequentially connecting other calibration points with the optimal calibration initial position as the first calibration point includes:
s3021, converting the coordinates of each calibration point into coordinates under a robot base coordinate system according to the coordinate conversion relation between each point of the spherical surface and the optimal calibration initial position;
s3022, comparing the X, Y value of each calibration point coordinate with the absolute value of the X, Y value of the optimal calibration initial position coordinate, and sequencing the calibration points from small to large according to the sum of the X, Y absolute values; wherein, the X, Y value is the X-axis coordinate value and the Y-axis coordinate value of the calibration point in the robot base coordinate system respectively;
s3023, sequentially connecting the calibration points according to the sequence to generate the path;
step S4 includes:
s401, taking the central point of the calibration plate as a starting point and each calibration point as an end point, and calculating a normal vector b of each calibration point in a hemispherical calibration space;
s402, calculating an included angle a between a normal vector b of each calibration point and a normal vector b of the optimal calibration initial position;
s403, sequentially moving the 3D camera to each calibration point along the random calibration path, and adjusting the posture of the robot at the to-be-calibrated point according to the optimal pose of the robot at the initial calibration position and the included angle a of the to-be-calibrated point to enable the lens center line of the 3D camera to be positioned on the normal vector b of the to-be-calibrated point;
s404, photographing at each calibration point and recording the pose of the robot at the photographing time;
and at each calibration point, acquiring vibration information acquired by a vibration sensor arranged at the tail end of the robot or on the 3D camera, and sending a signal to the 3D camera to enable the 3D camera to take a picture when the vibration is weakened to be within a threshold range.
2. The automatic calibration method for the non-fixed path robot according to claim 1, wherein the step S1 comprises:
s101, placing a calibration plate on a platform of a robot working space, fixing a 3D camera at the tail end of the robot, moving the 3D camera to be right above the calibration plate, and enabling the central line of a lens of the 3D camera to be vertically opposite to the center of the calibration plate;
s102, starting automatic calibration, driving the 3D camera to ascend at a constant speed by the robot, and continuously photographing the 3D camera in the ascending process to obtain a calibration plate image;
and S103, calculating the matching scores of the images in a template matching mode, obtaining the image with the highest matching score, and setting the photographing position corresponding to the image with the highest matching score as the optimal calibration initial position.
3. The automatic calibration method for the non-fixed path robot as claimed in claim 2, wherein in step S102, the uniform ascending speed is 0.3m/S, and the photographing frequency during the ascending process is 30 fps.
4. The automatic calibration method of the non-fixed path robot according to claim 2, wherein in step S103, during the process that the 3D camera ascends at a constant speed, matching scores of two images before and after are compared, when the matching score of a certain image is higher than the matching scores of the previous image and the next image, the image is determined as the image with the highest matching score, and the 3D camera is moved to the photographing position corresponding to the image.
5. The automatic calibration method of the non-fixed path robot as claimed in claim 1, wherein in step S301, the method for randomly obtaining calibration points on the hemispherical calibration space according to the Marsaglia method on the three-dimensional spherical surface comprises:
s3011, random sampling to generate a pair of uniformly distributed random numbers u, v; wherein u, v are in the range of [ -1,1 ];
s3012, calculating a value of r ^2 according to a formula of r ^2 = u ^2+ v ^2, and if r ^2 is more than or equal to 1, re-executing the step S3011 until r ^2 < 1 is met;
s3013, calculating three coordinate values of the calibration point according to the following formula:
x=2*u*sqrt(1- r^2)*R
y=2*v*sqrt(1- r^2)*R
z=(1-2* r^2)*R
wherein, x is the x coordinate value of the hemispherical calibration space coordinate system of the calibration point, y is the y coordinate value of the hemispherical calibration space coordinate system of the calibration point, z is the z coordinate value of the hemispherical calibration space coordinate system of the calibration point, and R is the radius of the hemispherical calibration space.
6. The automatic calibration method for the non-fixed path robot according to claim 1, wherein the preset number is 15.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010237100.1A CN111515944B (en) | 2020-03-30 | 2020-03-30 | Automatic calibration method for non-fixed path robot |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010237100.1A CN111515944B (en) | 2020-03-30 | 2020-03-30 | Automatic calibration method for non-fixed path robot |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111515944A CN111515944A (en) | 2020-08-11 |
CN111515944B true CN111515944B (en) | 2021-09-17 |
Family
ID=71901038
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010237100.1A Active CN111515944B (en) | 2020-03-30 | 2020-03-30 | Automatic calibration method for non-fixed path robot |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111515944B (en) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111745692A (en) * | 2020-08-31 | 2020-10-09 | 佛山隆深机器人有限公司 | Robot clamp and mechanical arm interference detection method |
CN112116664B (en) * | 2020-09-04 | 2024-05-28 | 季华实验室 | Method and device for generating hand-eye calibration track, electronic equipment and storage medium |
CN116113862A (en) * | 2020-09-11 | 2023-05-12 | 西门子(中国)有限公司 | Method and apparatus for achieving industrial camera focusing |
CN112743546B (en) * | 2020-12-29 | 2022-03-29 | 华南理工大学 | Robot hand-eye calibration pose selection method and device, robot system and medium |
CN113063352B (en) * | 2021-03-31 | 2022-12-16 | 深圳中科飞测科技股份有限公司 | Detection method and device, detection equipment and storage medium |
CN113034618A (en) * | 2021-04-20 | 2021-06-25 | 延锋伟世通汽车电子有限公司 | Method and system for measuring imaging distance of automobile head-up display |
CN114894116B (en) * | 2022-04-08 | 2024-02-23 | 苏州瀚华智造智能技术有限公司 | Measurement data fusion method and non-contact measurement equipment |
CN115990890B (en) * | 2023-03-23 | 2023-06-30 | 深圳广成创新技术有限公司 | Calibration method and device for manipulator, computer equipment and storage medium |
CN117140518A (en) * | 2023-09-15 | 2023-12-01 | 广州市斯睿特智能科技有限公司 | Full-automatic robot hand-eye calibration method and system |
CN117838311B (en) * | 2024-03-07 | 2024-05-31 | 杭州海沛仪器有限公司 | Target spot ablation respiratory gating system based on optical positioning |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102930251A (en) * | 2012-10-26 | 2013-02-13 | 北京炎黄拍卖有限公司 | Two-dimensional collection data recording and discriminating device and method |
GB2521429A (en) * | 2013-12-19 | 2015-06-24 | Canon Kk | Visual Servoing |
CN107081755A (en) * | 2017-01-25 | 2017-08-22 | 上海电气集团股份有限公司 | A kind of robot monocular vision guides the automatic calibration device of system |
CN107992881A (en) * | 2017-11-13 | 2018-05-04 | 广州中国科学院先进技术研究所 | A kind of Robotic Dynamic grasping means and system |
CN110136208A (en) * | 2019-05-20 | 2019-08-16 | 北京无远弗届科技有限公司 | A kind of the joint automatic calibration method and device of Visual Servoing System |
CN110202573A (en) * | 2019-06-04 | 2019-09-06 | 上海知津信息科技有限公司 | Full-automatic hand and eye calibrating, working face scaling method and device |
CN110695996A (en) * | 2019-10-14 | 2020-01-17 | 扬州大学 | Automatic hand-eye calibration method for industrial robot |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110202560A (en) * | 2019-07-12 | 2019-09-06 | 易思维(杭州)科技有限公司 | A kind of hand and eye calibrating method based on single feature point |
-
2020
- 2020-03-30 CN CN202010237100.1A patent/CN111515944B/en active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102930251A (en) * | 2012-10-26 | 2013-02-13 | 北京炎黄拍卖有限公司 | Two-dimensional collection data recording and discriminating device and method |
GB2521429A (en) * | 2013-12-19 | 2015-06-24 | Canon Kk | Visual Servoing |
CN107081755A (en) * | 2017-01-25 | 2017-08-22 | 上海电气集团股份有限公司 | A kind of robot monocular vision guides the automatic calibration device of system |
CN107992881A (en) * | 2017-11-13 | 2018-05-04 | 广州中国科学院先进技术研究所 | A kind of Robotic Dynamic grasping means and system |
CN110136208A (en) * | 2019-05-20 | 2019-08-16 | 北京无远弗届科技有限公司 | A kind of the joint automatic calibration method and device of Visual Servoing System |
CN110202573A (en) * | 2019-06-04 | 2019-09-06 | 上海知津信息科技有限公司 | Full-automatic hand and eye calibrating, working face scaling method and device |
CN110695996A (en) * | 2019-10-14 | 2020-01-17 | 扬州大学 | Automatic hand-eye calibration method for industrial robot |
Non-Patent Citations (1)
Title |
---|
生成球面上点的方法;gentleman_zh;《CSDN博客》;20181115;1-5页 * |
Also Published As
Publication number | Publication date |
---|---|
CN111515944A (en) | 2020-08-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111515944B (en) | Automatic calibration method for non-fixed path robot | |
JP7237483B2 (en) | Robot system control method, control program, recording medium, control device, robot system, article manufacturing method | |
TWI672206B (en) | Method and apparatus of non-contact tool center point calibration for a mechanical arm, and a mechanical arm system with said calibration function | |
JP6964989B2 (en) | Control methods, robot systems, article manufacturing methods, programs, and recording media | |
WO2019205299A1 (en) | Vision measurement system structure parameter calibration and affine coordinate system construction method and system | |
CN110666798B (en) | Robot vision calibration method based on perspective transformation model | |
CN108827154B (en) | Robot non-teaching grabbing method and device and computer readable storage medium | |
CN1322961C (en) | Metering mechanism | |
CN111801198B (en) | Hand-eye calibration method, system and computer storage medium | |
JP4021413B2 (en) | Measuring device | |
CN109031688A (en) | The localization method and positioning device of display screen in a kind of optics module | |
JP2009269110A (en) | Assembly equipment | |
JP7102115B2 (en) | Calibration method, calibration device, 3D measuring device, 3D visual measuring device, robot end effector, program, recording medium | |
CN114714356A (en) | Method for accurately detecting calibration error of hand eye of industrial robot based on binocular vision | |
CN112621743B (en) | Robot, hand-eye calibration method for fixing camera at tail end of robot and storage medium | |
CN110465946B (en) | Method for calibrating relation between pixel coordinate and robot coordinate | |
JP2019098409A (en) | Robot system and calibration method | |
JP2015031601A (en) | Three-dimensional measurement instrument, method, and program | |
CN112958960A (en) | Robot hand-eye calibration device based on optical target | |
CN112658643A (en) | Connector assembly method | |
CN107850425A (en) | Method for measuring artifact | |
CN115187612A (en) | Plane area measuring method, device and system based on machine vision | |
JP2018031701A (en) | Calibration method and calibration device | |
CN117173254A (en) | Camera calibration method, system, device and electronic equipment | |
CN109741294B (en) | Pupil distance testing method and equipment |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |