Method and device for calibrating mechanical arm and mechanical arm control system
By installing a target ball on the joint shaft outside the joint axis of the base of the robot arm, and automatically selecting the calibration point using a laser tracker and control unit, the problem of traditional robot arm calibration methods relying on personal experience is solved, and the calibration accuracy and efficiency are improved. Enhanced flexibility and intelligence of robotic arm operation.
Patent Information
- Application Number
- CN202411616864.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-11-13
- Publication Date
- 2025-02-18
- Estimated Expiration
- 2044-11-13
AI Technical Summary
The traditional mechanical arm calibration method relies on the personal experience of the operator and is easy to select unreasonable calibration points, resulting in inaccuracy and efficiency of calibration results.
By installing the target ball on the joint shaft outside the joint axis of the base of the robot arm, a reasonable calibration point is automatically selected using a laser tracker and control unit, multiple calibration points are selected based on performance evaluation standards, and high-precision acquisition is performed at these points. and calibration.
It significantly improves the accuracy and efficiency of the mechanical arm calibration, reduces calibration errors, enhances the reliability and stability of the calibration results, and improves the flexibility and intelligence of the mechanical arm operation.
Smart Images

Figure CN119458459A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of robotics, and more specifically to a method and device for calibrating a robotic arm and a robotic arm control system. Background Art
[0002] The robotic arm is the most widely used automated mechanical device in the field of robotics. It can be seen in industrial manufacturing, medical treatment, entertainment services, military, semiconductor manufacturing, and space exploration.
[0003] Traditional robot arm use is achieved through teaching programming. The operator manually guides the robot arm to a specific position and records these positions and trajectories, and then the robot arm automatically repeats these operations. However, this method is only suitable for use scenarios with high task repeatability, relatively simple paths, and stable environments, such as repeated assembly and welding on assembly lines. For situations where tasks are complex or require frequent task changes, the teaching programming method is less efficient. Relatively speaking, offline programming brings higher flexibility and intelligence to the operation of the robot arm. Its core is to use computer simulation technology to create a model consistent with the actual production environment, and on this basis plan and optimize the tasks of the robot arm. This method can be dynamically adjusted according to environmental changes, so as to cope with more complex and changeable working conditions. It is particularly suitable for multi-variety, small-batch production and scenarios that require high-precision and high-complexity operations. It is an important direction of intelligent manufacturing. However, during the production and assembly process of the robot arm, its actual physical parameters often differ from the nominal parameters, which will cause the mathematical model created based on the nominal parameters to be inconsistent with the actual production environment. Therefore, before using the robot arm for offline programming, the actual physical parameters of the robot arm need to be calibrated first, so that the mathematical model used by the robot arm control system is close to the actual model corresponding to the actual production environment.
[0004] Generally, the above calibration is completed with the help of a laser tracker. Specifically, the robot moves along the calibration point trajectory to each calibration point, and the readings of the laser tracker and the corresponding robot joint axis angle values are recorded to obtain the calibration results. The selection of calibration points has an important influence on the final calibration results, but it is very easy to select unreasonable calibration points in traditional methods, which affects the accuracy of the final calibration results, such as selecting redundant calibration points with similar positions, resulting in overfitting.
[0005] Therefore, there is an urgent need for a new technology that can automatically select reasonable calibration points to improve the accuracy of the final calibration results. Summary of the invention
[0006] The present invention aims to overcome the above and / or other problems in the prior art. The robot arm calibration method and device provided by the present invention can automatically obtain reasonable calibration sampling points without relying on the personal experience of the operator, thereby significantly improving the calibration accuracy and calibration efficiency. The robot arm control system provided by the present invention can greatly improve the consistency between the created model and the actual environment by compensating for the system error obtained based on the above high-precision calibration results, thereby further improving the flexibility and intelligence of the robot arm operation.
[0007] According to a first aspect of the present invention, a method for calibrating a robot arm is provided, which may include the following steps: a) selecting a joint axis other than a base joint axis of the robot arm as a target ball mounting joint axis, mounting a target ball at the target ball mounting joint axis to receive a laser emitted from a laser tracker; b) inputting the motion constraint conditions of the robot arm into a mathematical model based on the nominal parameters of the robot arm to generate a sampling point set, and screening out a plurality of calibration points from the sampling point set, wherein whether the sampling point can be used as the plurality of calibration points is judged based on the performance evaluation criteria of each sampling point; c) moving the robot arm to each calibration point, wherein at each calibration point, after the laser is locked on the target ball, the joint axis angle values of the base joint axis, the target ball mounting joint axis and each joint axis of the robot arm between the two joint axes and the target ball position coordinates of the target ball in the laser tracker coordinate system are collected; and d) performing calibration based on the joint axis angle values and target ball position coordinates collected at each calibration point.
[0008] According to the second aspect of the present invention, there is also provided a device for calibrating a robotic arm, which may include: a laser tracker, a target ball, and a control unit. The laser tracker is used to emit laser light and receive laser light returned from the target ball to obtain the target ball position coordinates of the target ball in the laser tracker coordinate system. The target ball is installed at the target ball installation joint axis to receive the laser light emitted from the laser tracker, and the target ball installation joint axis is a joint axis other than the base joint axis of the robotic arm. The control unit can be configured to: input the motion constraint conditions of the robotic arm into a mathematical model based on the nominal parameters of the robotic arm to generate a set of sampling points, and screen out multiple calibration points from the set of sampling points, wherein whether the sampling point can be used as the multiple calibration points is judged based on the performance evaluation criteria of each sampling point; move the robotic arm to each calibration point, wherein at each calibration point, after completing the locking of the target ball by the laser, collect the joint axis angle values of the base joint axis, the target ball mounting joint axis and each joint axis of the robotic arm between the two joint axes and the target ball position coordinates of the target ball in the laser tracker coordinate system; and perform calibration based on the joint axis angle values and target ball position coordinates collected at each calibration point.
[0009] The robot arm calibration method and the robot arm calibration device of the present invention not only preliminarily screen out a set of sampling points based on the motion constraints of the robot arm, but also further screen out reasonable sampling points from the set of sampling points through the performance evaluation criteria of the sampling points. Thus, the method and the device automatically calculate the optimal set of calibration points based on objective criteria instead of relying on the personal experience of the operator. This can effectively avoid calibration overfitting, significantly reduce calibration errors, and enhance the reliability and stability of the calibration results.
[0010] It can be understood that if the target ball mounting joint axis is the end joint axis of the robotic arm, then the calibration method and calibration device can calibrate all parts of the robotic arm.
[0011] The performance evaluation standard of the above-mentioned sampling points may be the error observability index of the error Jacobian matrix formed by the sampling points. Correspondingly, in the calibration method of the present invention, the step b) may include: constructing an error Jacobian matrix based on each sampling point; and selecting a group of sampling points as the multiple calibration points by comparing the error observability index of each error Jacobian matrix. In the calibration device of the present invention, the control unit may be further configured to: construct an error Jacobian matrix based on each sampling point; and select a group of sampling points as the multiple calibration points by comparing the error observability index of each error Jacobian matrix. The error observability index of the above-mentioned error Jacobian matrix provides an intuitive and quantitative standard for judging the quality of sampling points.
[0012] In the above step c), the robot arm can be made to move along the planned motion trajectory. Accordingly, the control unit can control the robot arm to move to each calibration point along the planned motion trajectory. The motion trajectory can be planned based on the scene, obstacle information and the selected multiple calibration points in the digital twin. Thus, even in a more complex on-site environment than the teaching site, the motion trajectory of the robot arm will not interfere with or collide with the on-site environment.
[0013] In the above step c), at each calibration point, the locking of the target ball by the laser may include: controlling the movement of the laser tracker, searching the actual position of the target ball with the nominal position of the target ball as the starting point, until the target ball successfully captures the laser emitted by the laser tracker. Correspondingly, in the above calibration device, at each calibration point, the control unit may be further configured to: control the movement of the laser tracker, searching the actual position of the target ball with the nominal position of the target ball as the starting point, until the target ball successfully captures the laser emitted by the laser tracker. The nominal position of the target ball is obtained based on the nominal parameters of the manipulator, the first relative position relationship between the manipulator base coordinate system and the laser tracker coordinate system, and the second relative position relationship between the target ball coordinate system and the target ball mounting joint axis coordinate system.
[0014] The premise of laser tracker measurement is that the laser beam locks the target ball. In the present invention, if the target ball is still in its nominal position, there is no need to search, and the laser beam aimed at the nominal position of the target ball will directly lock the target ball; if the actual position of the target ball has deviated from its nominal position, the laser beam still aimed at the nominal position of the target ball will not capture the target ball, but at this time there is no need to manually move the target ball to continue the light, the laser tracker can automatically search the actual position of the target ball and adjust the laser beam to re-lock the target ball, which significantly improves the calibration efficiency.
[0015] The above is that the target ball is automatically searched by the laser tracker. The present invention can also automatically search for the laser tracker by the target ball. Specifically, in the above step c), at each calibration point, the locking of the target ball by the laser may include: causing the mechanical arm to drive the target ball to move, and searching the actual position of the laser tracker with the nominal position of the laser tracker as the starting point, until the target ball successfully captures the laser emitted by the laser tracker. Correspondingly, in the above calibration device, at each calibration point, the control unit may be further configured to: control the mechanical arm to drive the target ball to move, and search the actual position of the laser tracker with the nominal position of the laser tracker as the starting point, until the target ball successfully captures the laser emitted by the laser tracker. The nominal position of the laser tracker is obtained based on the nominal parameters of the mechanical arm, the first relative position relationship between the mechanical arm base coordinate system and the laser tracker coordinate system, and the second relative position relationship between the target ball coordinate system and the target ball mounting joint axis coordinate system.
[0016] The above-mentioned first relative position relationship and second relative position relationship can be obtained through pre-calibration, including: moving at least two joint axes of the robotic arm, selecting at least 6 first pre-calibration points, and obtaining the first relative position relationship through a robotic arm calibration method based on the at least 6 first pre-calibration points, wherein the at least two joint axes include the base joint axis; and moving at least two joint axes of the robotic arm, selecting at least 6 second pre-calibration points, and obtaining the second relative position relationship through a robotic arm calibration method based on the at least 6 second pre-calibration points, wherein the at least two joint axes include the target ball mounting joint axis. Accordingly, in the pre-calibration process, the control unit can be further configured to: move at least two joint axes of the robotic arm, select at least 6 first pre-calibration points, and obtain the first relative position relationship through the robotic arm calibration method based on the at least 6 first pre-calibration points, and the at least two joint axes include the base joint axis; and move at least two joint axes of the robotic arm, select at least 6 second pre-calibration points, and obtain the second relative position relationship through the robotic arm calibration method based on the at least 6 second pre-calibration points, and the at least two joint axes include the target ball mounting joint axis.
[0017] The present invention obtains the first relative position relationship and the second relative position relationship based on more information, so the accuracy is higher and the pre-calibration error is smaller.
[0018] According to a third aspect of the present invention, a robot control system is provided, which includes a robot and a calibration device of the present invention as described above, wherein the system error of the robot control system can be calculated based on the calibration result obtained by the calibration device, and the system error is compensated into the robot control system. Thus, the mathematical model used in offline programming can be approximated to the actual model, thereby greatly improving the flexibility and intelligence of the robot operation.
[0019] According to a fourth aspect of the present invention, there is provided a computer-readable storage medium having encoded instructions recorded thereon, which when executed can implement the robot arm calibration method of the present invention.
[0020] According to a fifth aspect of the present invention, there is provided a computer program product, which includes a computer program, and when the computer program is executed, the robot arm calibration method of the present invention can be implemented.
[0021] Other features and aspects of the present invention will become more apparent from the following detailed description in conjunction with the accompanying drawings. BRIEF DESCRIPTION OF THE DRAWINGS
[0022] The present invention may be better understood by describing exemplary embodiments of the present invention in conjunction with the accompanying drawings, in which:
[0023] Figure 1 A flow chart of a method for calibrating a robotic arm according to an embodiment of the present invention is shown;
[0024] Figure 2 A schematic diagram of the joint axes of an example six-axis robotic arm is shown;
[0025] Figure 3 A flowchart of an example of a method for calibrating a robotic arm according to an embodiment of the present invention is shown;
[0026] Figure 4 A schematic diagram for calibrating a robot arm according to an embodiment of the present invention is shown;
[0027] Figure 5 A flow chart showing a method for pre-calibrating a robotic arm according to an embodiment of the present invention is shown; and
[0028] Figure 6 A schematic block diagram of a device for calibrating a robot arm according to an embodiment of the present invention is shown. DETAILED DESCRIPTION
[0029] The present invention will be further described below in conjunction with specific embodiments and drawings. More details are elaborated in the following description to facilitate a full understanding of the present invention. However, the present invention can obviously be implemented in a variety of other ways different from the description herein. Those skilled in the art can make similar generalizations and deductions based on actual application situations without violating the spirit of the present invention. Therefore, the scope of protection of the present invention should not be limited by the content of this specific embodiment.
[0030] Unless otherwise defined, the technical or scientific terms used in the claims and the specification shall have the usual meaning understood by persons with ordinary skills in the technical field to which the invention belongs. The words "first", "second" and similar words used in the specification and claims of this application do not indicate any order, quantity or importance, but are only used to distinguish different components. Words such as "one" or "one" do not indicate a quantitative limitation, but indicate the existence of at least one. Words such as "include" or "comprise" and similar words mean that the elements or objects appearing before "include" or "comprise" include the elements or objects listed after "include" or "comprise" and their equivalent elements, and do not exclude other elements or objects. Words such as "connect" or "connected" and similar words are not limited to physical or mechanical connections, nor are they limited to direct or indirect connections.
[0031] According to an embodiment of the present invention, a method for calibrating a robot arm is provided.
[0032] Figure 1 A method 100 for calibrating a robot arm according to an embodiment of the present invention is shown. As shown in the figure, the method 100 includes steps 120 to 180.
[0033] In step 120, a joint axis other than the base joint axis of the robot arm may be selected as a target ball mounting joint axis, and a target ball is mounted at the target ball mounting joint axis to receive laser light emitted from a laser tracker.
[0034] Laser trackers are widely used in robot arm calibration because of their high accuracy and wide measurement range. To calibrate a robot arm using a laser tracker, a target ball needs to be installed at the last joint axis of the robot arm to be calibrated. The laser tracker emits laser light and receives laser light returned from the target ball to obtain the position information of the target ball. Figure 2As shown in , the robot arm consists of 6 joint axes J1, J2, J3, J4, J5 and J6, J1 is the base joint axis, and J6 is the end joint axis. If you want to calibrate the entire robot arm, you need to install the target ball at the end joint axis J6 of the robot arm; but sometimes if you only want to calibrate a part of the robot arm, such as the section from J1 to J4, you only need to install the target ball at the joint axis J4 of the robot arm. In the above case, J6 and J4 are the target ball installation joint axes respectively, but it can be understood that the target ball installation joint axis cannot be the base joint axis J1.
[0035] The laser tracker can be placed in any position as long as it is not within the working space of the robot arm. The target ball can be installed at the above-selected target ball installation joint axis to receive the laser emitted from the laser tracker. In order to facilitate the target ball to capture the laser beam emitted by the laser tracker, it is expected that the target ball light receiving port is aligned with the laser emission port of the laser tracker as much as possible when installing the target ball. Of course, if alignment cannot be achieved at this time, it can also be achieved through adjustments in subsequent steps, for example, the position or orientation of the target ball or laser tracker can be adjusted based on the deflection angle of the target ball light receiving port relative to the laser emission port.
[0036] Next, in step 140, the motion constraints of the robotic arm may be input into a mathematical model based on the nominal parameters of the robotic arm to generate a set of sampling points, and a plurality of calibration points may be screened out from the set of sampling points, wherein whether the sampling point can be used as the plurality of calibration points is determined based on a performance evaluation criterion for each sampling point.
[0037] Compared with using the robot arm through teaching programming, offline programming brings higher flexibility and intelligence to the operation of the robot arm, but offline programming needs to rely on the mathematical model of the robot arm, which is based on the parameters of each axis of the robot arm. The purpose of calibration is to make the mathematical model of the robot arm used in offline programming as consistent as possible with the actual production environment, that is, to make the parameters of each axis of the robot arm used in offline programming as consistent as possible with their actual values. In the conventional method, the staff controls the robot arm to move to 30-50 different calibration points, or makes the robot arm move to 30-50 different calibration points along the trajectory pre-designed by the R&D personnel, records the laser tracker readings and the corresponding robot arm joint axis angle values, and after the acquisition is completed, the calibration results of the robot arm can be obtained through further calculation. The above calibration point is the position of the robot arm during calibration, which can be represented by an N (N is an integer ≥ 2) axis coordinate (for example, for a six-axis robot arm, the calibration point is a six-dimensional coordinate). In these methods, the selection of calibration points often depends on the personal experience of staff or R&D personnel. Since there is no standard to measure the rationality of the calibration points, it is very easy to select two calibration points that are close to each other in the joint coordinate system, which leads to parameter overfitting and affects the final calibration effect. The present invention innovatively determines whether the sampling point can be used as a calibration point based on the performance evaluation standard of the sampling point.
[0038] Still Figure 2 Take the six-axis robot arm shown in the figure as an example. First, the mathematical model of the robot arm can be obtained based on the nominal parameters of the robot arm (initial parameters, that is, the parameters obtained when leaving the factory or after the last calibration). The parameters of the robot arm may include, for example, the length of the connecting rod (for example, Figure 2 L1Z, L1X, L2, L3, L4 and L5 shown in ), zero point, reduction ratio, connecting rod angle, etc. The mathematical model is the transformation relationship between the joint axis of the end of the robot arm and the base of the robot arm, which can be obtained by multiplying 6 homogeneous transformation matrices, namely:
[0039]
[0040] Among them, α i-1 ,a i-1 ,d i ,θ i ,θ 0i ,r i is the parameter of each joint of the robot, where i represents the joint axis, α i-1 is the connecting rod angle, a i-1 is the connecting rod length, d i is the connecting rod offset, θ i is the joint angle, θ 0i is the joint zero point, r iis the reduction ratio of the joint motor. By inputting the motion constraints of the robot arm (which may include, for example, the range of motion of the robot arm, joint limits, target ball pre-acceptance angle, number of calibration points, collision detection results, laser line occlusion detection results, etc.) into the above mathematical model, a preliminary sampling point set Θ can be obtained. The preliminary sampling point set Θ excludes those sampling points that will affect the motion of the robot arm. On this basis, the performance evaluation standard of the sampling points can be further introduced to screen out the sampling points that are truly used for calibration. The performance evaluation standard can be an error observability index based on the mathematical model composed of the candidate sampling points, or it can be the angle value of each joint axis under the candidate sampling points ( Figure 2 The statistical distribution of the angle values of J1 to J6 in the calibration can also be the weighted result of these performance evaluation criteria. By introducing performance evaluation criteria to screen candidate sampling points, the optimal set of sampling points can be automatically calculated for calibration from a more objective mathematical principle perspective, which significantly reduces the influence of human factors, effectively avoids calibration overfitting, and enhances the reliability and stability of the final calibration results.
[0041] Returning to method 100, after the calibration points are determined, then in step 160, the robot arm can be moved to each calibration point, wherein at each calibration point, after the laser is locked on the target ball, the joint angle values of the base joint axis, the target ball mounting joint axis and each joint axis of the robot arm between these two joint axes and the target ball position coordinates of the target ball in the laser tracker coordinate system are collected.
[0042] Still Figure 2 Taking the six-axis robot arm shown in the figure as an example, assuming that the target ball is installed at the end joint axis J6, then at each calibration point, after the laser is locked on the target ball, the laser tracker collects the joint angle values of the base joint axis J1, the target ball installation joint axis J6, and each joint axis J2~J5 between these two joint axes, and the target ball position coordinates of the target ball in the laser tracker coordinate system, that is, collects the joint angle values of all joint axes J1~J6 and the target ball position coordinates of the target ball in the laser tracker coordinate system. It can be understood that if the target ball is installed at the joint axis J4, then what needs to be collected at each calibration point is the joint angle values of the joint axes J1~J4 and the target ball position coordinates of the target ball in the laser tracker coordinate system.
[0043] Afterwards, the method 100 may perform calibration at step 180 based on the joint angle values and target ball position coordinates collected at each calibration point.
[0044] The selection of calibration points directly affects the final effect of calibrating the actual parameters of the robot arm, but how to choose reasonable calibration points has not been effectively solved. The selection of calibration points either depends on manual operation of the staff or is obtained randomly. The calibration in this way has a large error, and its accuracy and stability are completely unable to meet the requirements of the offline programming robot arm for the constructed mathematical model, and it is also extremely time-consuming. Sometimes, in order to avoid parameter overfitting, sampling points separated by as large a distance as possible in the joint coordinate system are selected, and the laser beam of the laser tracker is often disconnected from the target ball (the target ball is cut off) due to the limitation of the incident angle of the target ball. The robot arm calibration method of the present invention cleverly introduces a performance evaluation standard based on mathematical calculations to select calibration points from a set of preliminary sampling points that will not affect the movement of the robot arm, which greatly improves the calibration accuracy. The selection of the calibration points is completely free from interference from human factors, thereby effectively ensuring the stability of the calibration. In the present invention, the rationality of the selected calibration points can ensure that the error compensation after calibration is effective in the entire working space of the robot arm. At the same time, the diversity of the selected calibration points can also effectively compensate for various errors of the robot arm. Moreover, compared with traditional manual selection, the present invention can optimize and screen a larger number of candidate sampling points in a very short time, thereby ensuring the calibration accuracy while effectively improving the calibration efficiency.
[0045] The following will take the performance evaluation standard as an error observability index based on the mathematical model composed of candidate sampling points as an example to further describe the robot arm calibration method of the present invention. In this case, step 140 may include sub-steps 142 and 144. Figure 3 shown.
[0046] In sub-step 142, an error Jacobian matrix is constructed based on each sampling point.
[0047] Still Figure 2 Taking the six-axis robot arm shown in the figure as an example, in order to obtain a robot arm mathematical model that is consistent with the actual production environment as much as possible, the end joint axis J6 is selected as the target ball installation joint axis, so that the parameters of all joints of the robot arm can be calibrated. Through the linearization assumption, the corresponding relationship between the changes in each parameter in the robot arm mathematical model and the posture deviation of the end of the robot arm can be obtained. The matrix representing the corresponding relationship is the error Jacobian matrix J, which is a function of each joint parameter ξ and the sampling point θ, that is, J = f(ξ,θ). In other words, an error Jacobian matrix J can be constructed based on each sampling point θ in the preliminary sampling point set and each joint nominal parameter ξ.
[0048] Next, in sub-step 144, a group of sampling points is selected as the plurality of calibration points by comparing the error observability indicators of the respective error Jacobian matrices.
[0049] Since the calibration model has highly nonlinear characteristics, it is difficult to intuitively evaluate the pros and cons of the calibration point selection. However, the inventors found that by introducing the above-mentioned error Jacobian matrix, an intuitive and quantitative standard can be obtained to determine the pros and cons of the calibration point selection. Specifically, from a mathematical point of view, the error Jacobian matrix J can be regarded as a multidimensional hyperellipsoid, and its dimension number corresponds to the number of parameters to be calibrated. The larger the volume of the hyperellipsoid, the wider the error range covered, and the more comprehensive the observed error, which is exactly what the calibration expects. At the same time, the length of each semi-axis of the hyperellipsoid (the number of semi-axis corresponds to the number of parameters to be calibrated) represents the contribution of the corresponding calibration parameter to the volume of the hyperellipsoid. Therefore, if the length of a semi-axis is particularly long, it means that the corresponding calibration parameter has too much influence on the total error of the robot arm, and the error Jacobian matrix as a whole presents a "morbidity", which is not what the calibration expects. On the contrary, the more uniform the length of the semi-axis (the closer the lengths of each semi-axis are to each other), the more the error Jacobian matrix is away from the above-mentioned undesirable "morbidity". The singular values of a matrix can reflect the degree of stretching of the matrix in the corresponding orthogonal direction. The singular values of the error Jacobian matrix regarded as a hyperellipsoid correspond to the semi-axis length of the hyperellipsoid. The singular values of the error Jacobian matrix can be obtained by performing singular value decomposition (SVD) on the error Jacobian matrix composed of the sampling points (orthogonal matrix, positive matrix and diagonal matrix can be obtained through SVD, and the non-zero elements on the diagonal of these matrices are the singular values of the error Jacobian matrix). Further, based on the singular values, the quality of the sampling points can be judged, that is, whether they can be used as calibration points. The singular values are the error observability index of the error Jacobian matrix.
[0050] Specifically, the maximum singular value corresponds to the direction with the strongest stretching, that is, the longest semi-axis of the hyperellipsoid; and the minimum singular value corresponds to the direction with the weakest stretching, that is, the shortest semi-axis of the hyperellipsoid. Therefore, if a singular value is significantly larger or significantly smaller than other singular values, it means that the error of the calibration parameter corresponding to the singular value (semi-axis) accounts for too large a proportion of the error of the entire manipulator. Such sampling points are prone to overfitting and are not suitable as calibration points. A scalar score can be obtained by performing certain mathematical operations on the singular values of each error Jacobian matrix (for example, the difference between the average and median of all singular values, the ratio of the minimum singular value to the maximum singular value, and other various indicators that can reflect whether the singular values are uniform), and the scalar scores are compared to evaluate the quality of the sampling point corresponding to each error Jacobian matrix, thereby selecting the best set of sampling points (for example, multiple sampling points with the smallest difference between the average and median of all singular values, and multiple sampling points with the ratio of the minimum singular value to the maximum singular value closest to 1). On the other hand, as discussed above, it is also expected that the volume of the hyperellipsoid corresponding to the error Jacobian matrix is as large as possible, so as to observe more comprehensive errors. If the sum of the lengths or the average value of each singular value is small, it means that the volume of the hyperellipsoid corresponding to the error Jacobian matrix is also small, and the error observed at the corresponding sampling point is not comprehensive enough, and the sampling point is not suitable as a calibration point. Based on this, the above scalar score can also be the sum of the lengths of all singular values, the average value of all singular values, or other various indicators that can reflect the size of the hyperellipsoid volume.
[0051] In order to further improve the accuracy and reduce the measurement error, multiple error Jacobian matrices J based on different sampling points and the corresponding manipulator end deviation δ can be stacked in rows to form an overdetermined system of equations (a system of equations with more equations than the number of unknowns). Assuming that the deviation of the parameter to be calibrated is ε, the number of deviations of the parameter to be calibrated is n, and the dimension of the observed end deviation is m (in this case, it is the measurement dimension of the laser tracker, which is generally 3 or 6, 3 corresponds to the laser tracker only collecting the position of the end of the manipulator, and 6 corresponds to the laser tracker collecting the position and posture of the end of the manipulator), then:
[0052] δ=J·ε
[0053] in, ( represents the set of real numbers, represents that the real number set is m×n dimensional). The above overdetermined equations are:
[0054] Δ=K·ε
[0055] in, K is the matrix to be SVD. For example, the ratio of the minimum singular value to the maximum singular value corresponding to K can be calculated as the scalar score of K. The higher the scalar score (the closer to 1), the more uniform the singular values are, and the more reasonable the combination of sampling points corresponding to the error Jacobian matrices in K. For example, the average value of all singular values corresponding to K can be calculated as the scalar score of K. The higher the scalar score, the larger the volume of the hyperellipsoid corresponding to K, and the more comprehensive the errors that can be observed when calibrating the combination of sampling points corresponding to the error Jacobian matrices in K.
[0056] The following will further describe the sampling point optimization process:
[0057] Step 1. Randomly select a specified number (according to the number of calibration points required) of non-repeated sampling points from the candidate sampling point set to form a set θ. The remaining candidate sampling points can be divided into multiple groups, each of which is called a candidate pool P. i ;
[0058] Step 2. Randomly select a candidate pool P 选 , the Ρ 选 The sampling points in Θ are added to Θ respectively, and the set Θ after each sampling point is added is scored as described above (the matrix corresponding to the set Θ is the above K, which superimposes the corresponding Jacobian matrices of all sampling points in the set), and the sampling point set with the highest score is selected and recorded as Θ +1 , the set Θ +1 The sampling point added relative to the set Θ is denoted as θ add , this point is P 选 The most preferred point in
[0059] Step 3. From the set Θ +1 Delete each sampling point in the set Θ after deleting each sampling point +1 Scalar scoring is performed as described above (at this time, the set Θ +1 The corresponding matrix is the above K, which superimposes the corresponding Jacobian matrices of all sampling points in the set), and the sampling point set with the highest score is selected and recorded as Θ -1 , the set Θ -1 Relative to the set Θ +1 The deleted sampling point is recorded as θ del , this point is Θ +1 The least suitable point in
[0060] Step 4. If θ add Not equal to θ del , that is, the sampling point deleted in step 3 is not added in step 2, then update Θ to Θ -1 , will P 选 From the candidate pooli Eliminate (for P 选 The selection of sampling points in the process has been completed), and the process returns to step 2 (the Θ at this time is the Θ obtained above). -1 , which contains P 选 The most preferred point in the above equation is eliminated. del On this basis, further study other candidate pools Ρ i The sampling points in are selected until all P i All selections completed);
[0061] Step 5. If θ add Equal to θ del , indicating 选 The most preferred point in is also Θ +1 The most unsuitable point in , which means that the sampling point in the original set Θ is relative to P 选 All sampling points in are more optimized, then P 选 From the candidate pool i The process returns to step 2 (the θ at this time is still the original θ, and the other candidate pools Ρ are further i The sampling points in are selected until all P i All selections completed).
[0062] Repeat the algorithm flow of steps 1-5 above until the current flow (all P i The rate of change of the scalar score of the set Θ obtained by the previous process (all selected) is less than a threshold value (which can be preset according to the actual situation), or the scalar score of the set Θ obtained by N consecutive processes (N is an integer ≥ 2, which can be preset according to the actual situation) has not increased. Finally, the set Θ with the highest scalar score among all the obtained sets Θ is the optimal sampling point set. The above scalar score can be based on either the uniformity of the singular value or the volume size of the hyperellipsoid, or both.
[0063] The above sampling point optimization process is only an example. The present invention can also use other methods to select the most suitable calibration point combination from the candidate sampling point set. For a six-axis robot arm, at least 20 optimal calibration points are screened out to calibrate all joints, and generally about 50 optimal calibration points are screened out. It can be understood that the more joint axes of the robot arm to be calibrated, the more calibration points are needed.
[0064] Optionally, in the above step 160, the robotic arm can be made to move along a motion trajectory planned based on the scene in the digital twin, obstacle information and the screened multiple calibration points.
[0065] The premise of laser tracker measurement is that the laser beam locks the target ball, otherwise the target ball cannot capture the laser beam, that is, the light is broken. In the prior art, R&D personnel often rely on personal experience to design a calibration trajectory without light, so the stability is relatively poor, and the interchangeability of the trajectory designed in this way is also poor, which cannot meet the needs of different models for different calibration trajectories. At the same time, this trajectory design still needs to be completed at the teaching site, so it is difficult to apply it at the use site, because the environment at the use site is often more complex than the teaching site. The movement of the robot arm along such a trajectory may interfere with and collide with the on-site environment (laser beam), and the placement of the laser tracker must also be consistent with the position when the teaching trajectory is designed, otherwise it will still cause light to be broken between the laser tracker and the target ball during the movement of the robot arm.
[0066] The present invention can plan a robot arm motion trajectory that includes both the preferred calibration points and the obstacles based on the optimized and selected calibration points, the actual working environment of the robot arm, and the obstacle information in the digital twin, thereby avoiding problems such as light failure and collision between the robot arm and surrounding obstacles during the movement of the robot arm. This not only effectively saves the on-site downtime caused by problems such as light failure and collision, but also further improves the speed of calibrating the robot arm in a complex site. Moreover, the calibration point trajectory in the present invention does not rely on the personal experience of the operator at all, but is automatically generated based on the calibration points selected according to the performance evaluation criteria of each sampling point as described above. Therefore, it has good applicability for different models and the placement of the laser tracker, and will not cause problems such as light failure, the laser tracker failing to track the target ball, and the robot arm colliding with surrounding obstacles during movement during the calibration process.
[0067] Optionally, in the above step 160, at each calibration point, the laser tracker can be controlled to move, and the actual position of the target ball can be searched starting from the nominal position (initial position) of the target ball until the target ball successfully captures the laser emitted by the laser tracker, thereby achieving the locking of the target ball by the laser.
[0068] As discussed above, the premise of laser tracker measurement is that the laser beam is locked on the target ball. In the prior art, if the target ball is cut off during the movement of the robot arm, it is necessary to manually move the target ball into the field of view of the laser tracker to re-lock the target ball (i.e., manually resume the light), which is very time-consuming.
[0069] The present invention cleverly controls the laser tracker to track the actual position of the target ball based on the nominal position of the target ball. The first relative position relationship between the robot base coordinate system B and the laser tracker coordinate system L can be obtained in advance (in the form of a transformation matrix The second relative position relationship between the target ball coordinate system O and the target ball mounting joint axis coordinate system F (expressed by the transformation matrix The mathematical model of the robot arm based on the nominal parameters of the robot arm is In fact, it is also the position of the target ball installation joint axis in the robot arm base coordinate system, that is, the relative position relationship between the target ball installation joint axis coordinate system F and the robot arm base coordinate system B can be expressed as the transformation matrix Based on the above three transformation matrices and The relative position relationship between the target sphere coordinate system O and the laser tracker coordinate system L can be obtained (using the transformation matrix express, ), from this transformation matrix The nominal position of the target ball can be obtained.
[0070] Figure 4 FIG. 1 shows a schematic diagram of a robot arm, a laser tracker and a target ball for calibrating a robot arm according to an embodiment of the present invention, wherein the target ball is mounted at the end joint axis of the robot arm, for example, as shown in FIG. Figure 4 As shown in the figure, a flange is installed at the end joint axis of the robot arm, and the flange can accommodate various tools, and the target ball can be placed in the flange. In this case, the target ball installation joint axis coordinate system F is the flange coordinate system F. The laser beam emitted by the laser tracker can be aligned with the nominal position of the target ball, and the target ball is waited for to successfully capture the laser beam. If the capture fails, it means that the target ball is no longer in the nominal position at this time. The laser tracker can be further controlled to search the actual position of the target ball with the nominal position of the target ball as the starting point until the target ball successfully captures the laser beam. It can be understood that the situation in which the target ball successfully captures the laser beam when the above-mentioned laser beam is aligned with the nominal position of the target ball is actually also included in the above-mentioned search, that is, the target ball is tracked at the starting point of the search at the nominal position, so that the laser beam can be aligned with the target ball, and the target ball is waited for to successfully capture the laser beam. The above-mentioned tracking of the target ball is automatically realized, thereby realizing the automatic re-locking of the laser tracker and the target ball after the light is cut off, avoiding manual light continuation during the calibration process, thereby effectively improving the automation and efficiency of the calibration.
[0071] The above-mentioned laser tracker can search for the actual position of the target ball in a variety of ways. A more convenient one is to use the built-in spiral search function of the laser tracker, that is, to control the two rotating axes of the laser tracker so that the laser tracker starts from the nominal position of the target ball and searches for the actual position of the target ball from the inside to the outside in a spiral curve until the target ball successfully captures the laser beam. In this way, the tracking of the target ball can be achieved simply and directly, and no additional hardware costs will be incurred. Of course, the laser tracker can also be designed to search for the actual position of the target ball from the nominal position of the target ball outward in a straight line or other curve.
[0072] Optionally, in the above step 160, at each calibration point, the robot arm can also drive the target ball to move, so that the target ball searches for the actual position of the laser tracker with the nominal position of the laser tracker as the starting point, until the target ball successfully captures the laser emitted by the laser tracker, thereby also achieving the locking of the target ball by the laser. This method cleverly controls the target ball to track the actual position of the laser tracker based on the nominal position of the laser tracker.
[0073] The target ball is mounted on a robotic arm, and the target ball can be driven by the robotic arm to capture the laser beam along the nominal emission direction of the laser beam (i.e., the emission direction of the laser beam emitted by the laser tracker at its nominal position). If the laser beam cannot be captured, it means that the laser tracker has left its nominal position. At this time, the emission direction of the laser beam can be recalculated according to several positions of the laser tracker near its nominal position, and the target ball can be driven by the robotic arm to capture the laser beam along these recalculated emission directions until the target ball successfully captures the laser beam emitted by the laser tracker. As described above, the transformation matrix between the target ball installation joint axis coordinate system F and the robotic arm base coordinate system B obtained by the nominal parameters of the robotic arm is The transformation matrix between the robot base coordinate system and the laser tracker coordinate system obtained in advance And the transformation matrix between the target sphere coordinate system and the target sphere mounting joint axis coordinate system obtained in advance The transformation matrix between the target sphere coordinate system O and the laser tracker coordinate system L can be obtained From this transformation matrix The nominal position of the laser tracker can be obtained. The reverse tracking of the target ball to the laser tracker is also automatically realized, thereby providing another way to automatically resume the light after the laser tracker and the target ball are disconnected, effectively improving the automation and efficiency of the calibration.
[0074] Optionally, the first relative position relationship and the second relative position relationship are obtained by pre-calibration. The pre-calibration can be as follows: Figure 5 As shown, steps S1 and S2 are included.
[0075] In step S1, at least two joint axes of the robot arm are moved, at least 6 first pre-calibration points are selected, and the first relative position relationship is obtained by a robot arm calibration method based on the at least 6 first pre-calibration points, wherein the at least two joint axes include the base joint axis.
[0076] In step S2, at least two joint axes of the robotic arm are moved, at least 6 second pre-calibration points are selected, and the second relative position relationship is obtained by a robotic arm calibration method based on the at least 6 second pre-calibration points, wherein the at least two joint axes include the target ball mounting joint axis.
[0077] In the prior art, in the pre-calibration stage, in order to determine the relative position relationship between the laser tracker and the base of the robotic arm and the relative position relationship between the target ball and the flange provided at the end of the robotic arm for placing the target ball, the two relative position relationships are obtained by rotating a joint axis of the robotic arm and fitting the normal vector of the circle. The information obtained in this process is relatively small, and the effect of the pre-calibration is relatively rough. In particular, if the orthogonality of the rotated joint is not guaranteed, it will lead to a large pre-calibration error. For robotic arms with large body errors (inherent errors), the relative position relationship obtained in this way is also unreliable. These will affect the subsequent calibration process.
[0078] The pre-calibration of the present invention cleverly introduces the robot arm calibration method to obtain the first relative position relationship between the robot arm base coordinate system and the laser tracker coordinate system and the second relative position relationship between the target ball coordinate system and the target ball mounting joint axis coordinate system, thereby taking into account more parameters through error modeling, thereby achieving pre-calibration more optimally and accurately, and greatly reducing the sensitivity to noise. It can be understood that the introduction of the robot arm calibration method to obtain the two relative position relationships can significantly improve the accuracy of the pre-calibration. If the introduced robot arm calibration method is the robot arm calibration method of the present invention, the accuracy of the pre-calibration will be further significantly improved.
[0079] Still Figure 2 Taking the six-axis robot arm shown in the figure as an example, in order to obtain a robot arm mathematical model that is consistent with the actual production environment as much as possible, the end joint axis J6 is selected as the target ball installation joint axis, so that the parameters of all joints of the robot arm can be calibrated. First, two joint axes of the robot arm are moved, and the two joint axes must include the base joint axis J1, and the other is selected from the other joint axes J2 to J6 (for example, J2), and at least 6 calibration points (for example, 10 calibration points) are selected to calibrate the moving joint axes J1 and J2, thereby obtaining the first relative position relationship between the robot arm base coordinate system and the laser tracker coordinate system. Next, move the two joint axes of the robot arm again. The two joint axes must include the terminal joint axis J6, and the other one is selected from the other joint axes J1 to J5 (for example, J5). Select at least 6 calibration points (for example, 10 calibration points) to calibrate the moving joint axes J5 and J6, thereby obtaining the second relative position relationship between the target sphere coordinate system and the target sphere mounting joint axis (in the current example, the terminal joint axis) coordinate system. It can be understood that in order to achieve a better pre-calibration effect, when calculating the first relative position relationship, the joint axes J1 and J6 are selected. Then, when calculating the second relative position relationship, try not to select J1 for another joint axis other than the joint axis J6, and you can select any one of J2 to J5. In addition, if Figure 4As shown in FIG, a flange is provided at the end joint axis J6 for placing the target ball, and the second relative position relationship is also the relative position relationship between the target ball coordinate system and the flange coordinate system.
[0080] In the above pre-calibration example, only two joint axes are moved respectively when calculating the first relative position relationship and the second relative position relationship, that is, the two-axis robot arm calibration method is adopted. But in fact, more joint axes can also be moved respectively, such as three joint axes, four joint axes or even more, and the three-axis robot arm calibration method, the four-axis robot arm calibration method, the more-axis robot arm calibration method, etc. are adopted accordingly. For a six-axis robot arm, up to six joint axes can be moved, and the six-axis robot arm calibration method is adopted accordingly to complete the pre-calibration. However, it can be understood that the more joint axes that move, the more sampling points are required for pre-calibration, and the more time is spent on pre-calibration. Therefore, according to the actual situation, an appropriate number of at least two joint axis movements can be selected to complete the pre-calibration.
[0081] Although many descriptions above use a six-axis robotic arm as an example, it can be understood that the robotic arm calibration method of the present invention is also applicable to robotic arms with other numbers of joint axes.
[0082] In addition, the robot arm calibration method of the present invention only requires one target ball to complete a calibration with higher accuracy. The cost of the target ball is very high, usually a single target ball reaches tens of thousands of RMB. Therefore, using a minimum number of target balls to complete a calibration with higher accuracy undoubtedly greatly improves the marginal effect of cost relative to accuracy. Moreover, the robot arm calibration method of the present invention also greatly saves calibration time. Compared with the prior art that requires 60 to 90 minutes to complete calibration, the present invention only requires about 15 minutes to complete a calibration with higher accuracy, and the improvement in calibration efficiency is obvious.
[0083] According to an embodiment of the present invention, there is also provided a computer-readable storage medium having encoded instructions recorded thereon, which, when executed, can implement the method for calibrating a robot arm according to the present invention. The computer-readable storage medium may include a hard disk drive, a floppy disk drive, a compact disk read / write (CD-R / W) drive, a digital versatile disk (DVD) drive, a flash drive, and / or a solid-state storage device, etc.
[0084] According to an embodiment of the present invention, a computer program product is also provided, including a computer program, which can implement the above-mentioned method for calibrating a robotic arm according to the present invention when the computer program is executed. The computer program product can be implemented using a variety of programming languages, such as C, C++, Java, Python, JavaScript, etc., to adapt to different development environments and platform requirements.
[0085] According to an embodiment of the present invention, a device for calibrating a robotic arm is also provided accordingly.
[0086] refer to Figure 6 , which shows a device 600 for calibrating a robotic arm according to the present invention, which may include a laser tracker 620, a control unit 640 and a target ball 660.
[0087] The laser tracker 620 may be used to emit laser light and receive laser light returned from the target sphere 660 to obtain the target sphere position coordinates of the target sphere 660 in the laser tracker coordinate system.
[0088] The target ball 660 may be mounted at the target ball mounting joint axis to receive the laser emitted from the laser tracker 620. The target ball mounting joint axis is a joint axis other than the base joint axis of the robot arm.
[0089] The control unit 640 can be configured to: input the motion constraint conditions of the robotic arm into a mathematical model based on the nominal parameters of the robotic arm to generate a set of sampling points, and select multiple calibration points from the set of sampling points, wherein whether the sampling point can be used as the multiple calibration points is judged based on the performance evaluation criteria of each sampling point; move the robotic arm to each calibration point, wherein at each calibration point, after completing the locking of the target ball by the laser, collect the joint axis angle values of the base joint axis, the target ball mounting joint axis and each joint axis of the robotic arm between these two joint axes and the target ball position coordinates of the target ball 660 in the laser tracker coordinate system; and perform calibration based on the joint axis angle values and target ball position coordinates collected at each calibration point.
[0090] Optionally, the target ball mounting joint axis is the end joint axis of the robotic arm.
[0091] Optionally, the control unit 640 may be further configured to: construct an error Jacobian matrix based on each sampling point; and select a group of sampling points as the multiple calibration points by comparing the error observability indicators of each error Jacobian matrix.
[0092] Optionally, the control unit 640 may control the robotic arm to move to each calibration point along a planned motion trajectory, wherein the motion trajectory is planned based on the scene in the digital twin, obstacle information, and the screened multiple calibration points.
[0093] Optionally, at each calibration point, the control unit 640 may be further configured to: control the movement of the laser tracker 620, search the actual position of the target ball 660 with the nominal position of the target ball 660 as the starting point, until the target ball 660 successfully captures the laser emitted by the laser tracker 620; or control the mechanical arm to drive the target ball 660 to move, search the actual position of the laser tracker 620 with the nominal position of the laser tracker 620 as the starting point, until the target ball 660 successfully captures the laser emitted by the laser tracker 620. The nominal position of the target ball 660 may be obtained based on the nominal parameters of the mechanical arm, the first relative position relationship between the mechanical arm base coordinate system and the laser tracker coordinate system, and the second relative position relationship between the target ball coordinate system and the target ball mounting joint axis coordinate system. The nominal position of the laser tracker 620 may be obtained based on the nominal parameters of the mechanical arm, the first relative position relationship between the mechanical arm base coordinate system and the laser tracker coordinate system, and the second relative position relationship between the target ball coordinate system and the target ball mounting joint axis coordinate system.
[0094] Optionally, the first relative position relationship and the second relative position relationship can be obtained by pre-calibration. In the pre-calibration process, the control unit 640 can be further configured to: move at least two joint axes of the robotic arm, select at least 6 first pre-calibration points, and obtain the first relative position relationship through the robotic arm calibration method based on the at least 6 first pre-calibration points, and the at least two joint axes include the base joint axis; and move at least two joint axes of the robotic arm, select at least 6 second pre-calibration points, and obtain the second relative position relationship through the robotic arm calibration method based on the at least 6 second pre-calibration points, and the at least two joint axes include the target ball mounting joint axis.
[0095] The above-mentioned device for calibrating a robot arm can implement the method for calibrating a robot arm according to the present invention as described above. Many design concepts and details applicable to the method for calibrating a robot arm of the present invention are also applicable to the above-mentioned device for calibrating a robot arm, and the same beneficial technical effects can be obtained, which will not be repeated here.
[0096] According to an embodiment of the present invention, there is also provided a robot control system, which includes a robot and a device for calibrating the robot as described above, wherein a system error of the robot control system is calculated based on a calibration result obtained by the device, and the system error is compensated into the robot control system. Since the device for calibrating the robot of the present invention can calibrate the robot with high precision, the robot control system of the present invention can plan and optimize the tasks of the robot based on a model that is almost consistent with the actual production environment in offline programming, thereby better adapting to various robot application scenarios that require high-precision and high-complexity operations.
[0097] Various aspects of the present invention have been described above through some exemplary embodiments. However, it should be understood that various modifications may be made to the above exemplary embodiments without departing from the spirit and scope of the present invention. For example, if the described techniques are performed in a different order and / or if the components in the described system, architecture, device or circuit are combined in different ways and / or replaced or supplemented by other components or their equivalents, suitable results may be achieved, and accordingly, these modified other embodiments also fall within the scope of protection of the claims.
Claims
1. A method for calibrating a robotic arm, comprising the following steps: a) selecting a joint axis other than the base joint axis of the robot arm as a target ball installation joint axis, and installing a target ball at the target ball installation joint axis to receive a laser emitted from a laser tracker; b) inputting the motion constraint conditions of the manipulator into a mathematical model based on the nominal parameters of the manipulator to generate a set of sampling points, and selecting a plurality of calibration points from the set of sampling points, wherein whether the sampling point can be used as the plurality of calibration points is determined based on a performance evaluation standard of each sampling point; c) moving the robot arm to each calibration point, wherein at each calibration point, after the laser is locked on the target ball, collecting the joint axis angle values of the base joint axis, the target ball installation joint axis and each joint axis of the robot arm between the two joint axes and the target ball position coordinates of the target ball in the laser tracker coordinate system; and d) Calibration is performed based on the joint axis angle values and target ball position coordinates collected at each calibration point.
2. The method according to claim 1, characterized in that The target ball mounting joint axis is the end joint axis of the robotic arm.
3. The method according to claim 1, characterized in that The step b) comprises: Constructing an error Jacobian matrix based on each sampling point; and A group of sampling points is selected as the multiple calibration points by comparing the error observability indicators of each error Jacobian matrix.
4. The method according to claim 1, characterized in that In the step c), the robotic arm is moved along a planned motion trajectory, wherein the motion trajectory is planned based on the scene in the digital twin, obstacle information and the screened multiple calibration points.
5. The method according to claim 1, characterized in that In the step c), at each calibration point, the laser locking the target sphere includes: The laser tracker is controlled to move, and the actual position of the target ball is searched with the nominal position of the target ball as the starting point until the target ball successfully captures the laser emitted by the laser tracker, wherein the nominal position of the target ball is obtained based on the nominal parameters of the manipulator, the first relative position relationship between the manipulator base coordinate system and the laser tracker coordinate system, and the second relative position relationship between the target ball coordinate system and the target ball mounting joint axis coordinate system.
6. The method according to claim 1, characterized in that In the step c), at each calibration point, the laser locking the target sphere includes: The robot arm drives the target ball to move, and searches for the actual position of the laser tracker with the nominal position of the laser tracker as the starting point until the target ball successfully captures the laser emitted by the laser tracker, wherein the nominal position of the laser tracker is obtained based on the nominal parameters of the robot arm, the first relative position relationship between the robot arm base coordinate system and the laser tracker coordinate system, and the second relative position relationship between the target ball coordinate system and the target ball mounting joint axis coordinate system.
7. The method according to claim 5 or 6, characterized in that The first relative position relationship and the second relative position relationship are obtained by pre-calibration, including: Move at least two joint axes of the robot arm, select at least 6 first pre-calibrated points, and obtain the first relative position relationship through a robot arm calibration method based on the at least 6 first pre-calibrated points, wherein the at least two joint axes include the base joint axis; and Move at least two joint axes of the robotic arm, select at least 6 second pre-calibration points, and obtain the second relative position relationship through a robotic arm calibration method based on the at least 6 second pre-calibration points, wherein the at least two joint axes include the target ball mounting joint axis.
8. A device for calibrating a robotic arm, comprising: A laser tracker for emitting laser light; A target ball is mounted at a target ball mounting joint axis, and is used to receive laser light emitted from the laser tracker. The target ball mounting joint axis is a joint axis other than a base joint axis of the robotic arm, wherein the laser tracker receives laser light returned from the target ball to obtain the target ball position coordinates of the target ball in a laser tracker coordinate system; as well as A control unit configured as follows: The motion constraint conditions of the robot arm are input into a mathematical model based on the nominal parameters of the robot arm to generate a set of sampling points, and a plurality of calibration points are selected from the set of sampling points, wherein Determining whether each sampling point can be used as the plurality of calibration points based on a performance evaluation standard of the sampling point; The robot arm is moved to each calibration point, wherein at each calibration point, after the laser is locked on the target ball, the joint axis angle values of the base joint axis, the target ball installation joint axis and each joint axis of the robot arm between the two joint axes and the target ball position coordinates of the target ball in the laser tracker coordinate system are collected; as well as Calibration is performed based on the joint axis angle values and target ball position coordinates collected at each calibration point.
9. The device according to claim 8, characterized in that The target ball mounting joint axis is the end joint axis of the robotic arm.
10. The device according to claim 8, characterized in that The control unit is further configured to: Constructing an error Jacobian matrix based on each sampling point; and A group of sampling points is selected as the multiple calibration points by comparing the error observability indicators of each error Jacobian matrix.
11. The device according to claim 8, characterized in that The control unit controls the robotic arm to move to each calibration point along a planned motion trajectory, wherein the motion trajectory is planned based on the scene in the digital twin, obstacle information, and the screened multiple calibration points.
12. The device according to claim 8, characterized in that At each calibration point, the control unit is further configured to: The laser tracker is controlled to move, and the actual position of the target ball is searched with the nominal position of the target ball as the starting point until the target ball successfully captures the laser emitted by the laser tracker, wherein the nominal position of the target ball is obtained based on the nominal parameters of the manipulator, the first relative position relationship between the manipulator base coordinate system and the laser tracker coordinate system, and the second relative position relationship between the target ball coordinate system and the target ball mounting joint axis coordinate system.
13. The device according to claim 8, characterized in that At each calibration point, the control unit is further configured to: The robot arm is controlled to drive the target ball to move, and the actual position of the laser tracker is searched with the nominal position of the laser tracker as the starting point until the target ball successfully captures the laser emitted by the laser tracker, wherein the nominal position of the laser tracker is obtained based on the nominal parameters of the robot arm, the first relative position relationship between the robot arm base coordinate system and the laser tracker coordinate system, and the second relative position relationship between the target ball coordinate system and the target ball mounting joint axis coordinate system.
14. The device according to claim 12 or 13, characterized in that The first relative position relationship and the second relative position relationship are obtained by pre-calibration, and during the pre-calibration process, the control unit is further configured as follows: Move at least two joint axes of the robot arm, select at least 6 first pre-calibration points, and obtain the first relative position relationship through a robot arm calibration method based on the at least 6 first pre-calibration points, wherein the at least two joint axes include the base joint axis; as well as Move at least two joint axes of the robotic arm, select at least 6 second pre-calibration points, and obtain the second relative position relationship through a robotic arm calibration method based on the at least 6 second pre-calibration points, wherein the at least two joint axes include the target ball mounting joint axis.
15. A robotic arm control system, comprising: Robotic arm; as well as The device according to any one of claims 8 to 14, Wherein, the system error of the robotic arm control system is calculated based on the calibration result obtained by the device, and the system error is compensated into the robotic arm control system.
16. A computer-readable storage medium having encoded instructions recorded thereon, which implement the method according to any one of claims 1 to 7 when the instructions are executed.
17. A computer program product, comprising a computer program, which implements the method according to any one of claims 1 to 7 when the computer program is executed.
Citation Information
Patent Citations
Gun camera and dome camera linkage system-based coordinate correlation method and device
CN104424631A
Mechanical arm kinematics parameter calibration method based on measuring of laser tracker
CN110281241A
Hand-eye calibration method, hand-eye calibration system and electronic equipment
CN117506900A
Information processing apparatus, information processing method, robot system, measurement system, method of manufacturing article with robot system, and recording medium
US20220161439A1
Plane precision calibration method for industrial robot
WO2020134426A1
Cited By
Operation rod zero position calibration method of surgical robot and related device
CN119632687A
Method and device for calibrating tool and mechanical arm control system
CN121403403A
Multi-objective optimization method and device for target ball mounting position of mechanical arm based on optimal control
CN122735158A