Method and device for calibrating a robot arm and robot arm control system
By using a laser tracker and a target ball combined with an error Jacobian matrix to select calibration points, the problem of traditional robotic arm calibration relying on human experience is solved, achieving a high-precision and efficient calibration process and improving the robotic arm's operational performance in complex environments.
Patent Information
- Application Number
- CN202411616864.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-11-13
- Publication Date
- 2025-12-19
- Estimated Expiration
- 2044-11-13
AI Technical Summary
Traditional robotic arm calibration methods rely on human experience, which can easily lead to the selection of unreasonable calibration points, resulting in low accuracy and efficiency of calibration results, and failing to meet the high-precision requirements in complex environments.
Using a laser tracker and a target ball, a set of sampling points is generated based on the motion constraints of a robotic arm. Reasonable calibration points are automatically selected using the error observability index of the error Jacobian matrix to avoid overfitting and improve calibration accuracy and efficiency.
It significantly improves the accuracy and efficiency of robotic arm calibration, enhances the reliability and stability of calibration results, and ensures the flexibility and intelligence of robotic arm operation.
Smart Images

Figure CN119458459B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the technical field of robots, and more particularly to a method and device for calibrating a robot arm and a robot arm control system. BACKGROUND
[0002] A robot arm is an automated mechanical device that is most widely used in the field of robots. It can be seen in the fields of industrial manufacturing, medical treatment, entertainment service, military, semiconductor manufacturing, space exploration, etc.
[0003] A conventional robot arm is programmed by teaching. An operator manually guides the robot arm to a specific position and records the positions and trajectories, and then the robot arm automatically repeats the operation. However, this method is only suitable for use scenarios with high task repetition, relatively simple path, and stable environment, such as repeated assembly and welding on a production line. For complex tasks or tasks that need to be frequently changed, the teaching programming method is less efficient. In contrast, offline programming brings higher flexibility and intelligence to the operation of a robot arm. Its core is to use computer simulation technology to create a model consistent with the actual production environment and plan and optimize the task of the robot arm based on the model. This method can be dynamically adjusted according to environmental changes to cope with more complex and variable working conditions, and is particularly suitable for multi-variety and small-batch production and scenarios that require high precision and high complexity. It is an important direction of intelligent manufacturing. However, the actual physical parameters of a robot arm during production and assembly often differ from the nominal parameters, which causes the mathematical model created based on the nominal parameters to be inconsistent with the actual production environment. Therefore, before using a robot arm for offline programming, the actual physical parameters of the robot arm need to be calibrated to make the mathematical model used by the robot arm control system approximate to the actual model corresponding to the actual production environment.
[0004] The calibration is generally completed with the help of a laser tracker. Specifically, the robot arm is moved along a calibration point trajectory to each calibration point, and the readings of the laser tracker and the corresponding joint axis angle values of the robot arm are recorded to obtain the calibration result. The selection of the calibration points has an important influence on the final calibration result, but unreasonable calibration points are easily selected in the traditional method, which affects the accuracy of the final calibration result, such as the selection of redundant calibration points with similar positions, which leads to overfitting.
[0005] Therefore, a new technology is needed to automatically select reasonable calibration points to improve the accuracy of the final calibration result. SUMMARY
[0006] The present application aims to overcome the above and / or other problems in the prior art. The mechanical arm calibration method and device provided by the present application can automatically obtain reasonable calibration sampling points without relying on the personal experience of the operator, thereby significantly improving the calibration accuracy and efficiency. The mechanical arm control system provided by the present application can greatly improve the consistency between the created model and the actual environment by compensating for the system error based on the above high-precision calibration results, thereby further improving the flexibility and intelligence of the mechanical arm operation.
[0007] According to a first aspect of the present application, a method for calibrating a mechanical arm is provided, which can include the following steps: a) selecting a joint axis other than the base joint axis of the mechanical arm as a target ball mounting joint axis, and mounting a target ball at the target ball mounting joint axis to receive laser emitted from a laser tracker; b) inputting the motion constraint conditions of the mechanical arm into a mathematical model constituted based on the nominal parameters of the mechanical arm to generate a sampling point set, and screening a plurality of calibration points from the sampling point set, wherein whether a sampling point can be used as a calibration point is determined based on the performance evaluation criteria of the sampling point; c) moving the mechanical arm to each calibration point, wherein at each calibration point, after the laser locks 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 mechanical 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) calibrating based on the joint axis angle values and target ball position coordinates collected at each calibration point.
[0008] According to a second aspect of the present application, a device for calibrating a mechanical arm is also correspondingly provided, which can include a laser tracker, a target ball and a control unit. The laser tracker is used to emit laser and receive laser 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 mounted at a target ball mounting joint axis to receive laser emitted from the laser tracker, and the target ball mounting joint axis is a joint axis other than the base joint axis of the mechanical arm. The control unit can be configured to: input the motion constraint conditions of the mechanical arm into a mathematical model constituted based on the nominal parameters of the mechanical arm to generate a sampling point set, and screen a plurality of calibration points from the sampling point set, wherein whether a sampling point can be used as a calibration point is determined based on the performance evaluation criteria of the sampling point; move the mechanical arm to each calibration point, wherein at each calibration point, after the laser locks 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 mechanical 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 calibrate based on the joint axis angle values and target ball position coordinates collected at each calibration point.
[0009] The mechanical arm calibration method and the mechanical arm calibration device of the present application not only preliminarily screen out a set of sampling points based on the motion constraint conditions of the mechanical arm, but also further screen out reasonable sampling points from the set of sampling points through the performance evaluation standard of the sampling points, so as to automatically calculate the optimal set of calibration points based on objective standards instead of relying on the personal experience of the operator, which can effectively avoid overfitting of calibration, significantly reduce the calibration error, and enhance the reliability and stability of the calibration result.
[0010] It can be understood that if the target ball mounting joint axis is the end joint axis of the mechanical arm, the calibration method and the calibration device can calibrate all parts of the mechanical arm.
[0011] The performance evaluation standard of the above-mentioned sampling points can be an error observability index of an error Jacobian matrix formed by the sampling points. Correspondingly, in the calibration method of the present application, the step b) can include: forming an error Jacobian matrix based on each sampling point respectively; and selecting a group of sampling points as the plurality of calibration points by comparing the error observability indexes of each error Jacobian matrix. In the calibration device of the present application, the control unit can be further configured to: form an error Jacobian matrix based on each sampling point respectively; and select a group of sampling points as the plurality of calibration points by comparing the error observability indexes of each error Jacobian matrix. The error observability index of the error Jacobian matrix provides an intuitive and quantitative standard for judging the advantages and disadvantages of the sampling points.
[0012] In the above-mentioned step c), the mechanical arm can be made to move along a planned motion trajectory. Correspondingly, the control unit can control the mechanical arm to move to each calibration point along a planned motion trajectory. The motion trajectory can be planned based on the scene, obstacle information in the digital twin, and the plurality of screened calibration points. Thus, even in a more complex on-site environment than the teaching site, the motion trajectory of the mechanical arm will not interfere or collide with the on-site environment.
[0013] In the above-mentioned step c), at each calibration point, the locking of the laser to the target ball can include: controlling the laser tracker to move to search for the actual position of the target ball from the nominal position of the target ball until the target ball successfully captures the laser emitted by the laser tracker. Correspondingly, in the above-mentioned calibration device, at each calibration point, the control unit can be further configured to: control the laser tracker to move to search for the actual position of the target ball from the nominal position of the target ball 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 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.
[0014] The premise of the laser tracker measurement is that the laser beam locks the target ball. In the present application, if the target ball is still in its nominal position, the laser beam aiming at the nominal position of the target ball will directly lock the target ball without actually searching; if the actual position of the target ball has deviated from its nominal position, the laser beam still aiming at the nominal position of the target ball will not capture the target ball, but at this time it is not necessary to manually move the target ball to resume the light, the laser tracker can automatically search for 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 to automatically search the target ball by the laser tracker, and the present application can also automatically search the laser tracker by the target ball. Specifically, in the above step c), the locking of the laser to the target ball at each calibration point can include: moving the target ball by the mechanical arm to search for the actual position of the laser tracker from the nominal position of the laser tracker until the target ball successfully captures the laser emitted by the laser tracker. Accordingly, in the above calibration device, at each calibration point, the control unit can be further configured to: control the movement of the target ball by the mechanical arm to search for the actual position of the laser tracker from the nominal position of the laser tracker 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 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 first relative position relationship and second relative position relationship can be obtained by pre-calibration, including: moving at least two joint axes of the mechanical arm, selecting at least 6 first pre-calibration points, and obtaining the first relative position relationship by mechanical arm calibration method based on the at least 6 first pre-calibration points, the at least two joint axes including the base joint axis; and moving at least two joint axes of the mechanical arm, selecting at least 6 second pre-calibration points, and obtaining the second relative position relationship by mechanical arm calibration method based on the at least 6 second pre-calibration points, the at least two joint axes including 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 mechanical arm, select at least 6 first pre-calibration points, and obtain the first relative position relationship by mechanical arm calibration method based on the at least 6 first pre-calibration points, the at least two joint axes including the base joint axis; and move at least two joint axes of the mechanical arm, select at least 6 second pre-calibration points, and obtain the second relative position relationship by mechanical arm calibration method based on the at least 6 second pre-calibration points, the at least two joint axes including the target ball mounting joint axis.
[0017] The first relative position relationship and the second relative position relationship are obtained based on more information, so that the accuracy is higher and the pre-calibration error is smaller.
[0018] According to a third aspect of the present application, a robot arm control system is provided, which comprises a robot arm and a calibration device of the present application as described above, wherein a system error of the robot arm control system can be calculated based on the calibration result obtained by the calibration device, and the system error is compensated into the robot arm control system. Thus, the mathematical model used in offline programming can be approximated to the actual model, so that the flexibility and intelligence of the robot arm operation are greatly improved.
[0019] According to a fourth aspect of the present application, a computer readable storage medium is provided, which has encoded instructions recorded thereon, when the instructions are executed, the robot arm calibration method of the present application can be implemented.
[0020] According to a fifth aspect of the present application, a computer program product is provided, which comprises a computer program, when the computer program is executed, the robot arm calibration method of the present application can be implemented.
[0021] Other features and aspects of the present application will become more apparent from the following detailed description, taken in conjunction with the accompanying drawings. BRIEF DESCRIPTION OF DRAWINGS
[0022] The present application can be better understood by describing exemplary embodiments thereof with reference to the accompanying drawings, in which:
[0023] Figure 1 A flow chart of a method for calibrating a robot arm according to an embodiment of the present application is shown;
[0024] Figure 2 A joint axis schematic diagram of a six-axis robot arm example is shown;
[0025] Figure 3 A flow chart of an example of a method for calibrating a robot arm according to an embodiment of the present application is shown;
[0026] Figure 4 A schematic diagram when calibrating a robot arm according to an embodiment of the present application is shown;
[0027] Figure 5 A flow chart of a method for pre-calibrating a robot arm according to an embodiment of the present application 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 application is shown. DETAILED DESCRIPTION
[0029] The present application will be further described with reference to the drawings attached hereto in connection with the following examples and in the accompanying detailed description. The following description sets forth numerous specific details to provide a thorough understanding of the application. However, those of skill in the art having the benefits of this disclosure will appreciate that the application can be practiced without the specific details set forth in this description. In other instances, well-known methods, procedures, components, and networks have not been described in detail so as not to unnecessarily obscure aspects of the present application.
[0030] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this application belongs. The terminology used in the description of the application herein and the claims that follow is not intended to be limiting of the application so as to limit the scope of the application. Rather, the terminology is used solely by way of reference to assist professionally-minded readers into conceptualizing the subject matter of the applications. "First", "second", and similar terms are not intended to imply any order, quantity, or importance, but are used to distinguish one element from another. "One" and "a" and similar terms are not intended to limit the quantity to one but rather to mean at least one. "Including" and "comprising" and similar terms are not intended to exclude other elements not recited. "Connected" or "coupled" and similar terms are not intended to mean that an element is directly connected or coupled to another element but rather that an element is connected or coupled to another element directly or indirectly, whether mechanically, electrically, or otherwise of however described, unless otherwise specified.
[0031] According to an embodiment of the present application, 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 application is shown. As shown in the figure, the method 100 comprises steps 120-180.
[0033] In step 120, a joint axis other than the base joint axis of the robot arm is 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] The laser tracker is widely used in robot arm calibration because of its high precision and wide measurement range. To calibrate a robot arm using a laser tracker, a target ball is mounted at the last joint axis of the robot arm to be calibrated, and the laser tracker emits laser light and receives the laser light returned from the target ball to obtain the position information of the target ball. Taking a six-axis robot arm as an example, as shown in Figure 2As shown in FIG. 1, the robot arm is composed of six joint axes J1, J2, J3, J4, J5 and J6, J1 being the base joint axis and J6 being the end joint axis. If the whole robot arm is to be calibrated, the target ball is to be installed at the end joint axis J6 of the robot arm; but sometimes only a part of the robot arm, such as J1 to J4, is to be calibrated according to the need, and in this case, the target ball is to be installed at the joint axis J4 of the robot arm. In the above cases, 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 at any position as long as the position is not within the working space of the robot arm. The target ball can be installed at the 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 from the laser tracker, it is desirable to align the target ball light receiving port with the laser emitting port of the laser tracker as much as possible when installing the target ball. Of course, if alignment cannot be achieved at this time, alignment can be achieved by adjustment in subsequent steps, such as adjusting the position or orientation of the target ball or the laser tracker based on the deflection angle of the target ball light receiving port relative to the laser emitting port.
[0036] Next, in step 140, the motion constraints of the robot arm can be input into the mathematical model based on the nominal parameters of the robot arm to generate a set of sampling points, and a plurality of calibration points can be selected from the set of sampling points, wherein whether a sampling point can be used as a calibration point is determined based on a performance evaluation criterion of the sampling point.
[0037] Compared to teaching programming, offline programming brings greater flexibility and intelligence to robotic arm operations. However, offline programming relies on a mathematical model of the robotic arm, which is based on the parameters of each axis. Calibration aims to ensure that the mathematical model of the robotic arm used in offline programming is as consistent as possible with the actual production environment; that is, to ensure that the parameters of each axis of the robotic arm used in offline programming are as consistent as possible with their actual values. In conventional methods, workers control the robotic arm to move to 30-50 different calibration points, or move the robotic arm along a pre-designed trajectory to 30-50 different calibration points, recording the laser tracker readings and the corresponding joint angle values. After data collection, further calculations yield the calibration results. These calibration points represent the position of the robotic arm during calibration, which can be represented by an N-axis coordinate system (N being an integer ≥ 2). (For example, for a six-axis robotic arm, the calibration point is a six-dimensional coordinate system). In these methods, the selection of calibration points often relies on the personal experience of staff or R&D personnel. Since there are no standards to measure the rationality of calibration points, it is very easy to select two calibration points that are close together in the joint coordinate system, leading to parameter overfitting and affecting the final calibration results. This invention innovatively uses a performance evaluation standard for sampling points to determine whether a sampling point can be used as a calibration point.
[0038] Still with Figure 2 Taking the six-axis robotic arm shown as an example, firstly, a mathematical model of the robotic arm can be obtained based on its nominal parameters (initial parameters, i.e., parameters obtained at the factory or after the last calibration). The parameters of the robotic arm may include, for example, link lengths (e.g., Figure 2 The mathematical model, which includes L1Z, L1X, L2, L3, L4, and L5, zero point, reduction ratio, and link angle, represents the transformation relationship between the end effector joint axis of the robotic arm and the robotic arm base. This transformation can be obtained by multiplying six homogeneous transformation matrices, i.e.:
[0039]
[0040] Where, α i-1 ,a i-1 ,d i ,θ i ,θ 0i ,r i These are the parameters for each joint of the robotic arm, where i represents the joint axis and α... i-1 It is the included angle of the connecting rod, a i-1 It is the length of the link, d i It is a link offset, θ i It is the joint angle, θ 0i It is the joint zero point, r iThis refers to the reduction ratio of the joint motor. By inputting the motion constraints of the robotic arm (such as the range of motion of the robotic arm, joint limits, target ball pre-acceptance angle, number of calibration points, collision detection results, laser line obstruction detection results, etc.) into the above mathematical model, a preliminary set of sampling points Θ can be obtained. This preliminary set of sampling points Θ excludes those sampling points that will affect the movement of the robotic arm. Based on this, a performance evaluation standard for the sampling points can be further introduced to screen out the sampling points that are truly used for calibration. This performance evaluation standard can be an error observability index based on the mathematical model formed by the candidate sampling points, or it can be the angle values of each joint axis under the candidate sampling points (…). Figure 2 The statistical distribution (e.g., root mean square, range, etc.) of the angle values (J1 to J6) 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 for calibration can be automatically calculated from a more objective mathematical perspective, significantly reducing the influence of human factors, effectively avoiding calibration overfitting, and enhancing the reliability and stability of the final calibration results.
[0041] Returning to method 100, after determining the calibration points, in step 160, the robotic arm can be moved to each calibration point. At each calibration point, after the laser locks onto the target ball, the joint angle values of the base joint axis, the target ball mounting joint axis, and the joint axes of the robotic arm between these two joint axes, as well as the target ball position coordinates in the laser tracker coordinate system, are collected.
[0042] Still with Figure 2 Taking the six-axis robotic arm as an example, assuming the target ball is installed at the end joint axis J6, at each calibration point, after the laser locks onto the target ball, the laser tracker collects the joint angle values of the base joint axis J1, the target ball mounting joint axis J6, and each joint axis J2-J5 between these two joint axes, as well as the target ball's position coordinates in the laser tracker coordinate system. That is, it collects the joint angle values of all joint axes J1-J6 and the target ball's position coordinates in the laser tracker coordinate system. It can be understood that if the target ball is installed at joint axis J4, then at each calibration point, what needs to be collected are the joint angle values of joint axes J1-J4 and the target ball's position coordinates in the laser tracker coordinate system.
[0043] Subsequently, in step 180, method 100 can perform calibration based on the joint angle values and target ball position coordinates collected at each calibration point.
[0044] The selection of the calibration points directly affects the final result of the calibration of the actual parameters of the robot arm, but how to select reasonable calibration points has always been unable to be effectively solved, and the selection of the calibration points is either dependent on manual operation of the staff or randomly obtained. In this way, the calibration has a great error, and the precision and stability cannot meet the needs of the constructed mathematical model of the robot arm for offline programming, and it is also extremely time-consuming. Sometimes, in order to avoid overfitting of the parameters, sampling points that are as far apart as possible in the joint coordinate system are selected, but the laser beam of the laser tracker is often disconnected from the target ball (target ball light is broken) due to the limitation of the incident angle of the target ball. The robot arm calibration method of the application ingeniously introduces a performance evaluation standard based on mathematical calculation 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, and the selection of the calibration points is completely free from human factors, thereby effectively ensuring the stability of the calibration. In the application, the rationality of the selected calibration points can ensure that the error compensation after calibration is effective in the entire workspace of the robot arm, and the diversity of the selected calibration points can also effectively compensate for various errors of the robot arm. Compared with the traditional manual selection, the application 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 robot arm calibration method of the application will be further described below by taking the error observability index of the mathematical model based on the candidate sampling points as an example of the performance evaluation standard, and at this time, step 140 can include sub-step 142 and sub-step 144, as shown in Figure 3 .
[0046] In sub-step 142, an error Jacobian matrix is respectively constructed based on each sampling point.
[0047] Still taking the six-axis robot arm shown in Figure 2 as an example, in order to obtain a mathematical model of the robot arm as consistent as possible with the actual production environment, the end joint shaft J6 is selected as the target ball mounting joint shaft, so that the parameters of all joints of the robot arm can be calibrated. Through linearization assumption, the corresponding relationship between the changes of each parameter in the mathematical model of the robot arm and the deviation of the end pose of the robot arm can be obtained, and the matrix representing the corresponding relationship is the error Jacobian matrix J, which is a function of the joint parameters ξ and the sampling points θ, that is, J = f(ξ, θ). In other words, an error Jacobian matrix J can be respectively constructed based on each sampling point θ in the set of preliminary sampling points and the nominal parameters ξ of each joint.
[0048] Then in sub-step 144, a group of sampling points are selected as the plurality of calibration points by comparing the error observability indexes of each error Jacobian matrix.
[0049] Since the calibration model has highly nonlinear characteristics, it is difficult to intuitively evaluate the pros and cons of the selection of the calibration points. However, the inventors found that by introducing the error Jacobian matrix, a direct and quantitative standard can be obtained to determine the pros and cons of the selection of the calibration points. Specifically, from a mathematical point of view, the error Jacobian matrix J can be regarded as a multidimensional hyperellipsoid, and the number of dimensions 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 is expected in calibration. At the same time, the length of each semi-axis of the hyperellipsoid (the number of semi-axes 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 certain 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 "sick state", which is not expected in calibration. On the contrary, the more uniform the length of the semi-axis (the closer the length of each semi-axis to each other), the farther the error Jacobian matrix is from the above-mentioned undesirable "sick state". The singular value of a matrix can reflect the stretching degree of the matrix in the corresponding orthogonal direction, and the singular value of the error Jacobian matrix of the hyperellipsoid corresponds to the semi-axis length of the hyperellipsoid. The singular value of the error Jacobian matrix can be obtained by singular value decomposition (SVD) of the error Jacobian matrix formed by the sampling points (the orthogonal matrix, positive matrix and diagonal matrix obtained by SVD are the singular values of the error Jacobian matrix, which are the non-zero elements on the diagonal of these matrices), and further based on the singular value, the pros and cons of the sampling points, i.e. whether they can be used as calibration points, can be determined. The singular value is the error observability index of the error Jacobian matrix.
[0050] Specifically, the largest singular value corresponds to the direction of the strongest stretch, i.e., the longest semi-axis of the hyper-ellipsoid; and the smallest singular value corresponds to the direction of the weakest stretch, i.e., the shortest semi-axis of the hyper-ellipsoid. Therefore, if a singular value is significantly larger or 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 errors of the entire robot arm, and such a sampling point is prone to overfitting and is not suitable as a calibration point. A scalar score (for example, the difference between the average and the median of all singular values, the ratio of the smallest singular value to the largest singular value, and other various indicators that can reflect whether the singular values are uniform) can be obtained by performing certain mathematical operations on the singular values of each error Jacobian matrix, and the advantages and disadvantages of the sampling point corresponding to each error Jacobian matrix can be evaluated by comparing the scalar scores, thereby selecting the optimal set of sampling points (for example, multiple sampling points with the smallest difference between the average and the median of all singular values, multiple sampling points with the ratio of the smallest singular value to the largest singular value closest to 1). On the other hand, as previously discussed, it is also desirable for the volume of the hyper-ellipsoid corresponding to the error Jacobian matrix to be as large as possible, so as to observe a more comprehensive error. If the sum or average of the lengths of the singular values is small, it means that the volume of the hyper-ellipsoid 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-mentioned scalar score can also be the sum of the lengths of all singular values, the average of all singular values, or other various indicators that can reflect the size of the volume of the hyper-ellipsoid.
[0051] To further improve the accuracy and reduce the measurement error, a plurality of error Jacobian matrices J based on different sampling points and corresponding robot end deviations δ can be stacked by rows to form an overdetermined equation set (an equation set with more equations than unknowns). Assuming that the deviation of the to-be-calibrated parameters is ε, the number of deviations of the to-be-calibrated parameters is n, and the dimension of the observed end deviation is m (in this example, the measurement dimension of the laser tracker, which is generally 3 or 6, 3 corresponding to the laser tracker collecting only the position of the robot end, and 6 corresponding to the laser tracker collecting the position and attitude of the robot end), then:
[0052] δ = J·ε
[0053] wherein, ( represents a real number set, represents that the real number set is m x n dimensional). The above-mentioned overdetermined equation set is:
[0054] Δ = K·ε
[0055] wherein, K is the matrix to be SVDed. 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, and the higher the scalar score (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 is. For example, the average of all singular values corresponding to K can also be calculated as the scalar score of K, and the higher the scalar score, the larger the volume of the hyper-ellipsoid corresponding to K is, and the more comprehensive the error that can be observed when calibrating the combination of sampling points corresponding to the error Jacobian matrices in K.
[0056] The sampling point optimization process will be further described below:
[0057] Step 1. Randomly select a specified number (according to the required number of calibration points) of non-repeated sampling points from the candidate sampling point set to form a set Θ, and the remaining candidate sampling points can be divided into multiple groups, each group being called a candidate pool P i ;
[0058] Step 2. Randomly select a candidate pool P 选 , and add the sampling points in P 选 to Θ respectively, and respectively score the set Θ after adding each sampling point according to the above description (at this time, the matrix corresponding to the set Θ is the above-mentioned K, which superimposes the corresponding Jacobian matrices of all sampling points in the set), and the sampling point set with the highest score is recorded as Θ +1 , and the sampling point added to the set Θ +1 relative to the set Θ is recorded as θ add , which is the most optimal point in P 选 ;
[0059] Step 3. Delete each sampling point from the set Θ +1 respectively, and respectively score the set Θ +1 after deleting each sampling point according to the above description (at this time, the matrix corresponding to the set Θ +1 is the above-mentioned K, which superimposes the corresponding Jacobian matrices of all sampling points in the set), and the sampling point set with the highest score is recorded as Θ -1 , and the sampling point deleted from the set Θ -1 relative to the set Θ +1 is recorded as θ del , which is the least suitable point in Θ +1 ;
[0060] Step 4. If θ add is not equal to θ del , i.e. the sampling point deleted in step 3 is not the one added in step 2, then update Θ to Θ -1 , and P 选 from the candidate pool Pi 选 -1 选 del i i
[0061] add del 选 +1 选 选 i i i
[0062] i
[0063]
[0064]
[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, researchers often rely on personal experience to design a calibration trajectory that does not break the light, so the stability is 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 in the teaching site, so it is difficult to apply in the use site because the environment of the use site is often more complex than that of the teaching site. If the robot moves according to such a trajectory, it may interfere with or collide with the environment (laser beam) in the use site, and the position of the laser tracker must also be consistent with the position when the teaching trajectory is designed, otherwise the laser tracker and the target ball will still break the light during the movement of the robot.
[0066] The present application can plan a robot movement trajectory that can not only include the preferred calibration points but also avoid obstacles based on the optimization of the screened calibration points, the actual working environment of the robot and the obstacle information in the digital twin, thereby avoiding problems such as light breaking and collision between the robot and the surrounding obstacles during the movement of the robot. This not only effectively saves the downtime caused by light breaking, collision and other problems, but also further improves the speed of calibrating the robot in a complex site. Moreover, the calibration point trajectory in the present application is completely independent of the personal experience of the operator and is automatically generated based on the preferred calibration points according to the performance evaluation criteria of each sampling point as described above, so it has good applicability to different models and the position of the laser tracker and will not cause problems such as light breaking, the laser tracker failing to track the target ball and the robot colliding with the surrounding obstacles during the movement of the robot.
[0067] Alternatively, in the above step 160, at each calibration point, the laser tracker can be controlled to search for the actual position of the target ball from the nominal position (initial position) of the target ball until the target ball successfully captures the laser emitted by the laser tracker, thereby realizing the locking of the laser on the target ball.
[0068] As discussed earlier, the premise of laser tracker measurement is that the laser beam locks the target ball. In the prior art, if the target ball breaks the light during the movement of the robot, the target ball needs to be manually moved into the field of view of the laser tracker to re-lock the target ball (i.e., manual light continuation), which is very time-consuming.
[0069] The present application ingeniously 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 (represented by a conversion matrix ) between the robot base coordinate system B and the laser tracker coordinate system L and the second relative position relationship (represented by a conversion matrix a mathematical model of the robot arm based on the nominal parameters of the robot arm is also the pose of the target ball mounting joint axis in the robot base coordinate system, i.e. the relative position relationship between the target ball mounting joint axis coordinate system F and the robot base coordinate system B can be expressed as a transformation matrix Based on the above three transformation matrices and the relative position relationship between the target ball coordinate system O and the laser tracker coordinate system L can be obtained (expressed as a transformation matrix , ) from which the nominal position of the target ball can be obtained.
[0070] Figure 4 A schematic diagram of a robot arm, a laser tracker and a target ball for calibrating the robot arm according to an embodiment of the present application is shown, wherein the target ball is mounted at the end joint axis of the robot arm, for example, a flange can be mounted at the end joint axis of the robot arm as shown in Figure 4 , the flange can accommodate various tools, and the target ball can be placed in the flange. In this case, the target ball mounting joint axis coordinate system F is the flange coordinate system F. The laser beam emitted by the laser tracker can be first aligned with the nominal position of the target ball, and the target ball is waited to successfully capture the laser beam. If the capture fails, it indicates that the target ball is not at the nominal position at this time, and the laser tracker can be further controlled to search for the actual position of the target ball from 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 case where the target ball successfully captures the laser beam when the laser beam is aligned with the nominal position of the target ball is actually also included in the above search, i.e. the search tracks the target ball from the starting point at the nominal position, so that the laser beam can be aligned with the target ball, and the target ball is waited to successfully capture the laser beam. The tracking of the target ball is automatically implemented, thereby achieving automatic relocking of the laser tracker and the target ball after breaking the light, avoiding manual light continuation in the calibration process, and effectively improving the automation degree and efficiency of the calibration.
[0071] The search for the actual position of the target ball by the laser tracker can be performed in various ways. One of the more convenient ways is to use the built-in spiral search function of the laser tracker, i.e. to control the two rotation axes of the laser tracker to search for the actual position of the target ball from the nominal position of the target ball as the starting point in a spiral curve from inside to outside until the target ball successfully captures the laser beam. In this way, the tracking of the target ball can be simply and directly achieved, and no additional hardware cost is generated. 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 step 160, the target ball can also be moved by the robot arm at each calibration point to search for the actual position of the laser tracker from the nominal position of the laser tracker until the target ball successfully captures the laser emitted by the laser tracker, so that the laser is also locked to the target ball. This way 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 the robot arm, and the target ball can first capture the laser beam along the nominal direction of the laser beam (i.e., the direction of the laser beam emitted by the laser tracker at its nominal position) by the robot arm. If it cannot be captured, it means that the laser tracker has deviated from its nominal position at this time, and the direction of the laser beam can be recalculated at several positions near the nominal position of the laser tracker, and the target ball can be moved along these recalculated directions by the robot arm to capture the laser beam until the target ball successfully captures the laser beam emitted by the laser tracker. As described above, the conversion matrix between the target ball mounting joint axis coordinate system F obtained from the nominal parameters of the robot arm and the robot base coordinate system B The conversion matrix between the robot base coordinate system and the laser tracker coordinate system obtained in advance And the conversion matrix between the target ball coordinate system and the target ball mounting joint axis coordinate system obtained in advance The conversion matrix between the target ball coordinate system O and the laser tracker coordinate system L can be obtained From the conversion matrix The nominal position of the laser tracker can be obtained. The above-mentioned counter tracking of the target ball to the laser tracker is also automatically realized, thereby providing another way to automatically continue the light after the laser tracker and the target ball are broken, effectively improving the automation degree and efficiency of calibration.
[0074] Optionally, the first relative position relationship and the second relative position relationship are obtained by pre-calibration. The pre-calibration can include steps S1 and S2 as shown. Figure 5
[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 robot 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.
[0076] In step S2, at least two joint axes of the robot arm are moved, at least 6 second pre-calibration points are selected, and the second relative position relationship is obtained by robot 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.
[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 robot arm and the relative position relationship between the target ball and the flange plate arranged at the end of the robot arm for placing the target ball, the normal vector of the circle fitted after rotating a joint axis of the robot arm is used to obtain the above two relative position relationships. The information obtained in this process is relatively less, and the effect of pre-calibration is relatively rough. Especially if the orthogonality of the rotated joint is not guaranteed, a large pre-calibration error will be caused. For a robot arm with large body error (inherent error), the relative position relationship obtained thereby is also unreliable. These will affect the subsequent calibration process.
[0078] The pre-calibration of the application ingeniously introduces the robot arm calibration method to obtain the first relative position relationship between the base coordinate system of the robot arm and the coordinate system of the laser tracker and the second relative position relationship between the target ball coordinate system and the target ball mounting joint axis coordinate system. Thereby, through error modeling, more parameters can be considered, and the pre-calibration can be more optimized and more accurately realized, while the sensitivity to noise is greatly reduced. It can be understood that the introduction of the robot arm calibration method to obtain the above two relative position relationships can significantly improve the accuracy of pre-calibration. If the introduced robot arm calibration method is the robot arm calibration method of the application, the accuracy of pre-calibration will be further significantly improved.
[0079] Still taking the six-axis robot arm shown in Figure 2 For example, the end joint axis J6 is selected as the target ball mounting 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, which must include the base joint axis J1, and the other is selected from the other joint axes J2-J6 (for example, J2). At least 6 calibration points (for example, 10 calibration points) are selected to calibrate the moving joint axes J1 and J2, and thereby the first relative position relationship between the base coordinate system of the robot arm and the coordinate system of the laser tracker can be obtained. Then, the two joint axes of the robot arm are moved again, which must include the end joint axis J6, and the other is selected from the other joint axes J1-J5 (for example, J5). At least 6 calibration points (for example, 10 calibration points) are selected to calibrate the moving joint axes J5 and J6, and thereby the second relative position relationship between the target ball coordinate system and the target ball mounting joint axis (in the current example, it is the end joint axis) coordinate system can be obtained. It can be understood that in order to make the pre-calibration effect better, when the first relative position relationship is calculated, the joint axes J1 and J6 are selected, and when the second relative position relationship is calculated, the other joint axis except J6 should not be selected as J1 as much as possible, and any one of J2-J5 can be selected. In addition, if the robot arm is a six-axis robot arm as shown in Figure 4The second relative position relationship is also a relative position relationship between the target ball coordinate system and the flange plate coordinate system.
[0080] In the above examples of pre-calibration, only two joint axes are moved respectively when calculating the first relative position relationship and the second relative position relationship, that is, a two-axis robot arm calibration method is used. However, in practice, more joint axes can be moved, such as three joint axes, four joint axes, or even more, and a three-axis robot arm calibration method, a four-axis robot arm calibration method, a more-axis robot arm calibration method, or the like can be used accordingly. For a six-axis robot arm, up to six joint axes can be moved, and a six-axis robot arm calibration method can be used accordingly to complete the pre-calibration. However, it can be understood that the more joint axes that are moved, the more sampling points that are required for pre-calibration, and the more time that is required for pre-calibration. Therefore, a suitable number of at least two joint axes can be selected for movement to complete the pre-calibration according to actual conditions.
[0081] Although the six-axis robot arm is described in many places above, it can be understood that the robot arm calibration method of the present application is also applicable to robot arms with other numbers of joint axes.
[0082] In addition, the robot arm calibration method of the present application only requires one target ball to complete higher-precision calibration. The cost of a target ball is very high, and a single target ball usually costs tens of thousands of yuan. Therefore, higher-precision calibration is completed with the smallest number of target balls, which undoubtedly greatly improves the marginal effect of cost relative to precision. Moreover, the robot arm calibration method of the present application also greatly saves calibration time. Compared with the prior art, which requires 60-90 minutes to complete calibration, the present application only requires about 15 minutes to complete higher-precision calibration, and the improvement in calibration efficiency is obvious.
[0083] According to an embodiment of the present application, a computer-readable storage medium is also provided, on which encoded instructions are recorded, which, when executed, can implement the above-mentioned method for calibrating a robot arm according to the present application. The computer-readable storage medium can include a hard disk drive, a floppy disk drive, a compact disc read / write (CD-R / W) drive, a digital versatile disc (DVD) drive, a flash drive, and / or a solid-state storage device, etc.
[0084] According to an embodiment of the present application, a computer program product is also provided, which includes a computer program that, when executed, can implement the above-mentioned method for calibrating a robot arm according to the present application. The computer program product can be implemented using various programming languages, such as C, C++, Java, Python, JavaScript, etc., to adapt to different development environment and platform requirements.
[0085] According to an embodiment of the present application, there is also provided a device for calibrating a robot arm.
[0086] Reference is made to Figure 6 wherein a device 600 for calibrating a robot arm according to the present application is shown, which can comprise a laser tracker 620, a control unit 640 and a target ball 660.
[0087] The laser tracker 620 can be configured to emit laser light and receive laser light returned from the target ball 660 to obtain target ball position coordinates of the target ball 660 in a laser tracker coordinate system.
[0088] The target ball 660 can be mounted at a target ball mounting joint axis for receiving laser light emitted from the laser tracker 620. The target ball mounting joint axis is a joint axis other than a base joint axis of the robot arm.
[0089] The control unit 640 can be configured to: input motion constraints of the robot arm into a mathematical model constituted based on nominal parameters of the robot arm to generate a set of sampling points, and select a plurality of calibration points from the set of sampling points based on a performance evaluation criterion of each sampling point; move the robot arm to each calibration point, wherein at each calibration point, after completing laser locking to the target ball, collect joint 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 target ball position coordinates of the target ball 660 in the laser tracker coordinate system; and calibrate based on the collected joint angle values and target ball position coordinates at each calibration point.
[0090] Optionally, the target ball mounting joint axis is an end joint axis of the robot arm.
[0091] Optionally, the control unit 640 can be further configured to: construct an error Jacobian matrix based on each sampling point, respectively; and select a group of sampling points as the plurality of calibration points by comparing error observability indicators of each error Jacobian matrix.
[0092] Optionally, the control unit 640 can control the robot arm to move to each calibration point with a planned motion trajectory, wherein the motion trajectory is planned based on a scenario, obstacle information in a digital twin and the selected plurality of calibration points.
[0093] Optionally, at each calibration point, the control unit 640 can be further configured to: control the laser tracker 620 to move to search for the actual position of the target ball 660 starting from the nominal position of the target ball 660 until the target ball 660 successfully captures the laser emitted by the laser tracker 620; or control the robot arm to move the target ball 660 to search for the actual position of the laser tracker 620 starting from the nominal position of the laser tracker 620 until the target ball 660 successfully captures the laser emitted by the laser tracker 620. The nominal position of the target ball 660 can be obtained based on the nominal parameters of the robot arm, the first relative position relationship between the robot 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 can be obtained based on the nominal parameters of the robot arm, the first relative position relationship between the robot 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 through pre-calibration. In the pre-calibration process, the control unit 640 can be further configured to: move at least two joint axes of the robot arm, select at least six first pre-calibration points, and obtain the first relative position relationship based on the at least six first pre-calibration points through robot arm calibration, the at least two joint axes including the base joint axis; and move at least two joint axes of the robot arm, select at least six second pre-calibration points, and obtain the second relative position relationship based on the at least six second pre-calibration points through robot arm calibration, the at least two joint axes including the target ball mounting joint axis.
[0095] The above-described device for calibrating a robot arm can implement the above-described method for calibrating a robot arm according to the present application. Many design concepts and details applicable in the above-described method for calibrating a robot arm according to the present application are also applicable to the above-described device for calibrating a robot arm, and can achieve the same beneficial technical effects, which will not be described here again.
[0096] According to embodiments of the present application, a robot arm control system is also provided, which includes a robot arm and a device for calibrating a robot arm as described above, wherein a system error of the robot arm control system is calculated based on the calibration result obtained by the device, and the system error is compensated into the robot arm control system. Since the device for calibrating a robot arm according to the present application can calibrate a robot arm with high precision, the robot arm control system according to the present application can plan and optimize the task of the robot arm based on a model consistent with the actual production environment in offline programming, so as to better adapt to various robot arm application scenarios requiring high precision and high complexity operations.
[0097] Various aspects of the application have been described through a number of example embodiments. It is to be understood that various alterations to the described examples will occur to the reader. For example, it will be appreciated that the described technology can be performed in different orders and / or that the components of the described systems, architectures, devices or circuits can be combined in different ways and / or replaced or supplemented with other components or their equivalents, and that suitable results can still be achieved, without departing from the spirit and scope of the claims. Accordingly, other implementations are within the scope of the following claims.
Claims
1. A method for calibrating a robot, comprising the steps of: a) selecting a joint axis other than a base joint axis of the robot as a target ball mounting joint axis at which a target ball is mounted for receiving a laser beam emitted from a laser tracker; b) inputting motion constraints of the robot into a mathematical model constituted based on nominal parameters of the robot to generate a set of sampling points, and selecting a plurality of calibration points from the set of sampling points, wherein whether a sampling point can be used as a calibration point is determined based on a performance evaluation criterion of the sampling point; c) moving the robot to each calibration point, wherein at each calibration point, after a laser beam lock of the laser tracker to the target ball is completed, joint axis angle values of the base joint axis, the target ball mounting joint axis, and each joint axis of the robot between the two joint axes, and a target ball position coordinate of the target ball in a laser tracker coordinate system are collected; and d) calibrating based on the collected joint axis angle values and target ball position coordinates at each calibration point.
2. The method of claim 1, wherein, The target ball mounting joint axis is an end joint axis of the robot.
3. The method of claim 1, wherein, The step b) comprises: constituting an error Jacobian matrix based on each sampling point; and selecting a group of sampling points as the plurality of calibration points by comparing error observability indicators of each error Jacobian matrix.
4. The method of claim 1, wherein, In the step c), the robot is moved along a planned motion trajectory, wherein the motion trajectory is planned based on a scenario in a digital twin, obstacle information, and the selected plurality of calibration points.
5. The method of claim 1, wherein, In the step c), at each calibration point, the laser beam lock of the laser tracker to the target ball comprises: controlling the laser tracker to move to search for an actual position of the target ball from a nominal position of the target ball, until the target ball successfully captures the laser beam emitted from the laser tracker, wherein the nominal position of the target ball is obtained based on nominal parameters of the robot, a first relative position relationship between a robot base coordinate system and a laser tracker coordinate system, and a second relative position relationship between a target ball coordinate system and a target ball mounting joint axis coordinate system.
6. The method of claim 1, wherein, In the step c), at each calibration point, the laser beam lock of the laser tracker to the target ball comprises: controlling the robot to move the target ball to search for an actual position of the laser tracker from a nominal position of the laser tracker, until the target ball successfully captures the laser beam emitted from the laser tracker, wherein the nominal position of the laser tracker is obtained based on nominal parameters of the robot, a first relative position relationship between a robot base coordinate system and a laser tracker coordinate system, and a second relative position relationship between a target ball coordinate system and a target ball mounting joint axis coordinate system.
7. The method of claim 5 or 6, wherein, The first relative position relationship and the second relative position relationship are obtained through pre-calibration, comprising: moving at least two joint axes of the robot, selecting at least 6 first pre-calibration points, and obtaining the first relative position relationship based on the at least 6 first pre-calibration points through a robot calibration method, wherein the at least two joint axes used for selecting the first pre-calibration points include the base joint axis; and moving at least two joint axes of the robot, selecting at least 6 second pre-calibration points, and obtaining the second relative position relationship based on the at least 6 second pre-calibration points through the robot calibration method, wherein the at least two joint axes used for selecting the second pre-calibration points include the target ball mounting joint axis. The at least two joint axes of the robot arm are moved, at least six second pre-designated points are selected, and the second relative position relationship is obtained by robot arm calibration based on the at least six second pre-designated points, and the at least two joint axes for selecting the second pre-designated points include the target ball mounting joint axis.
8. An apparatus for calibrating a robot arm, comprising: a laser tracker configured to emit a laser beam; a target ball mounted at a target ball mounting joint axis, the target ball mounting joint axis being a joint axis of the robot arm other than a base joint axis of the robot arm, wherein the laser tracker receives the laser beam returned from the target ball to obtain target ball position coordinates of the target ball in a laser tracker coordinate system; and a control unit configured to: input motion constraints of the robot arm into a mathematical model constituted based on nominal parameters of the robot arm to generate a set of sampling points, and select a plurality of calibration points from the set of sampling points, wherein whether a sampling point can be used as the plurality of calibration points is determined based on a performance evaluation criterion of the sampling point; move the robot arm to each calibration point, wherein at each calibration point, after the laser beam is locked to the target ball, joint 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 target ball position coordinates of the target ball in the laser tracker coordinate system are collected; and calibrate based on the collected joint angle values and target ball position coordinates at each calibration point.
9. The apparatus of claim 8, wherein, The target ball mounting joint axis is an end joint axis of the robot arm.
10. The apparatus of claim 8, wherein, The control unit is further configured to: constitute an error Jacobian matrix based on each sampling point; and select a group of sampling points as the plurality of calibration points by comparing error observability indicators of each error Jacobian matrix.
11. The apparatus of claim 8, wherein, The control unit controls the robot arm to move to each calibration point along a planned motion trajectory, wherein the motion trajectory is planned based on a scene, obstacle information in the digital twin, and the selected plurality of calibration points.
12. The apparatus of claim 8, wherein, At each calibration point, the control unit is further configured to: control the laser tracker to move to search for an actual position of the target ball from a nominal position of the target ball, until the target ball successfully captures the laser beam emitted by the laser tracker, wherein the nominal position of the target ball is obtained based on nominal parameters of the robot arm, a first relative position relationship between a robot arm base coordinate system and a laser tracker coordinate system, and a second relative position relationship between a target ball coordinate system and a target ball mounting joint axis coordinate system.
13. The apparatus of claim 8, wherein, At each calibration point, the control unit is further configured to: control the robot arm to move the target ball to search for an actual position of the laser tracker from a nominal position of the laser tracker, until the target ball successfully captures the laser beam emitted by the laser tracker, wherein the nominal position of the laser tracker is obtained based on nominal parameters of the robot arm, a first relative position relationship between a robot arm base coordinate system and a laser tracker coordinate system, and a second relative position relationship between a target ball coordinate system and a target ball mounting joint axis coordinate system.
14. The apparatus of claim 12 or 13, wherein, The first relative position relationship and the second relative position relationship are obtained through pre-calibration, in which the control unit is further configured to: 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 robot arm calibration based on the at least 6 first pre-calibration points, wherein the at least two joint axes used for selecting the first pre-calibration points include the base joint axis; and move at least two joint axes of the robot arm, select at least 6 second pre-calibration points, and obtain the second relative position relationship through robot arm calibration based on the at least 6 second pre-calibration points, wherein the at least two joint axes used for selecting the second pre-calibration points include the target ball mounting joint axis.
15. A robot arm control system, comprising: a robot arm; and the device of any one of claims 8-14, wherein a system error of the robot arm control system is calculated based on the calibration result obtained by the device, and the system error is compensated into the robot arm control system.
16. A computer readable storage medium having encoded instructions recorded thereon, which when executed implement the method of any one of claims 1-7.
17. A computer program product comprising a computer program which when executed implement the method of any one of claims 1-7.
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