Mechanical arm calibration method and device

By introducing interference force detection and characteristic value comparison methods in the mechanical arm force control, the misjudgment and reliability problems in the zero-point calibration and load recognition process are solved, and higher accuracy and fluency are achieved, and user experience is improved.

CN119704170APending Publication Date: 2025-03-28BEIJING TINAVI MEDICAL TECH
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202311278576.X
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2023-09-28
Publication Date
2025-03-28

AI Technical Summary

Technical Problem

In the existing mechanical arm force control methods, the zero-point calibration and load recognition process of the six-dimensional force sensor have problems such as high probability of misjudgment, complex calculation model, and poor reliability, and the requirements of fluency and user experience cannot be met in some application scenarios.

Method used

Before zero point calibration, an interference force detection method is used to collect force data from the force sensor, calculate the characteristic value and compare it with the preset threshold to confirm whether there is interference force in the robot arm. If there is no interference force, zero point calibration and load identification will be performed, compensation value will be calculated and gravity compensation will be performed.

Benefits of technology

Improves the accuracy and reliability of zero point calibration and load identification, reduces manual operation and pre-preparation time, and improves the smoothness and user experience of robotic arm power control.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119704170A_ABST
    Figure CN119704170A_ABST
Patent Text Reader

Abstract

The invention discloses a mechanical arm calibration method and device.The mechanical arm calibration method comprises the steps that force data of a force sensor arranged on a mechanical arm are collected; calculating a characteristic value according to the force data; and the characteristic value is compared with a preset threshold value, if the characteristic value exceeds the threshold value, it is confirmed that the mechanical arm has disturbing force, and if the characteristic value does not exceed the threshold value, it is confirmed that the disturbing force does not exist, and zero calibration is conducted on a force sensor of the mechanical arm. According to the mechanical arm calibration method, interference force detection is carried out before zero point calibration, the problems that in the prior art, the misjudgment probability is large, a calculation model is complex, and reliability is poor can be solved, and a reliable and accurate judgment basis is provided for starting conditions of follow-up zero point calibration, load recognition and compensation.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of mechanical arm sensors, and in particular to a mechanical arm calibration method and device. Background Art

[0002] At present, common force control methods for robotic arms include impedance control and admittance control. When admittance control is applied, the robotic arm works in position mode, and force control is indirectly achieved by obtaining the six-dimensional external force on the end of the robotic arm, converting the six-dimensional force into a compliant posture of the end, and sending the compliant posture to the robotic arm for position mode movement. Therefore, the data accuracy of the six-dimensional force at the end becomes a prerequisite for determining the accuracy of admittance control. The six-dimensional force sensor products currently on the market all need to perform zero point calibration of the sensor after each device is powered on, and need to identify the mass and center of mass of the load for load compensation to obtain the true external force value after removing the influence of the load gravity.

[0003] Usually, the precise load type needs to be obtained before the zero point calibration of the force sensor. During the calibration operation, the personnel who may be around will be informed not to touch the end of the robot arm, so that the force sensor is in a static and interference-free state for accurate zero point calibration. In addition, when there is external force interference or the zero point is inaccurate, there may be a risk of failure or misidentification of load identification.

[0004] CN106426174A discloses a robot contact force detection method based on torque observation and friction identification. The method is a robot arm end contact force detection method based on a robot arm joint torque sensor. The end external force is synthesized by joint torque. The modeling problem of complex friction force model also needs to be considered. There are problems of poor accuracy and detection failure due to the unsatisfactory rank of the Jacobian matrix when the robot arm is in a singular position.

[0005] In addition, when the type of tool at the end of the robot arm needs to be changed, in order to ensure the accuracy of the six-dimensional force at the end obtained by the six-dimensional force sensor, it is usually necessary to manually set (known load type) or re-identify the load mass and center of mass data (unknown load type). Manual setting will seriously hinder the smoothness of operation. Re-identifying the load requires the robot arm to perform automatic movements in several different positions (such as Chinese patent publication CN115157260A) without external interference, which is not allowed in some application scenarios (such as robot-assisted surgical operations, etc.).

[0006] The above constraints severely restrict the smoothness of the robot arm's power control and the user experience, and no effective solution has been proposed so far. Summary of the invention

[0007] The purpose of the present invention is to overcome the above-mentioned technical deficiencies and provide a robot arm calibration method and device. Before zero point calibration, interference force detection is performed first, wherein the robot arm calibration method can solve the problems of high probability of misjudgment, complex calculation model and poor reliability existing in the related technology, and provide a reliable and accurate judgment basis for the subsequent zero point calibration, load identification and compensation starting conditions.

[0008] In order to achieve the above technical objectives, the present invention adopts the following technical solutions:

[0009] According to one aspect of the present invention, a robot arm calibration method is provided, comprising:

[0010] collecting force data of a force sensor disposed on the mechanical arm;

[0011] calculating a characteristic value based on the force data;

[0012] Comparing the characteristic value with a preset threshold;

[0013] If the threshold is exceeded, it is confirmed that the robot arm has an interfering force;

[0014] If the threshold value is not exceeded, it is confirmed that the interference force does not exist, and the force sensor of the robotic arm is calibrated at the zero point.

[0015] Optionally, the force data of the force sensor includes multi-dimensional force data of a multi-dimensional force sensor;

[0016] Calculating the characteristic value according to the force data comprises:

[0017] The variance of each dimension of the multi-dimensional force data is calculated, and a variance eigenvalue is calculated based on the variance.

[0018] Optionally, the multidimensional force data includes directional force data and moment data of the directional force; and the step of calculating the variance of each dimensional force data in the multidimensional force data and calculating the variance eigenvalue according to the variance specifically includes:

[0019] Calculate the variance of the directional force in each dimension, and calculate the logarithm of the sum of the variances of the directional forces as the force variance eigenvalue; calculate the variance of the moment of the directional force in each dimension, and calculate the logarithm of the sum of the variances of the moments as the moment variance eigenvalue;

[0020] The comparing the characteristic value with a preset threshold value, and if the characteristic value exceeds the threshold value, confirming that the mechanical arm has an interfering force, includes:

[0021] If the force variance eigenvalue exceeds the force variance threshold, or the torque variance eigenvalue exceeds the torque variance threshold, it is confirmed that there is interference force on the robotic arm.

[0022] Optionally, the force data of the force sensor includes multi-dimensional force data of a multi-dimensional force sensor;

[0023] Calculating the characteristic value according to the force data comprises:

[0024] Calculate the variance of the directional force in each dimension, and calculate the logarithm of the sum of the variances of the directional forces as the force variance eigenvalue; calculate the variance of the moment of the directional force in each dimension, and calculate the logarithm of the sum of the variances of the moments as the moment variance eigenvalue;

[0025] Calculate the range of the directional force in each dimension, and take the sum of the range of the directional force as the force range characteristic value; calculate the range of the moment of the directional force in each dimension, and take the sum of the range of the moment as the moment range characteristic value;

[0026] The comparing the characteristic value with a preset threshold value, and if the characteristic value exceeds the threshold value, confirming that the mechanical arm has an interfering force, includes:

[0027] If the force variance characteristic value exceeds the force variance threshold, or the moment variance characteristic value exceeds the moment variance threshold, it is confirmed that the first interference force existence condition is met;

[0028] If the force extreme difference characteristic value exceeds the force extreme difference threshold, or the torque extreme difference characteristic value exceeds the torque extreme difference threshold, it is confirmed that the second interference force existence condition is met;

[0029] If the first interference force existence condition and the second interference force existence condition are satisfied at the same time, it is confirmed that the interference force exists.

[0030] Optionally, the multi-dimensional force data of the multi-dimensional force sensor is six-dimensional force data of a six-dimensional force sensor, and the six-dimensional force data includes force data in three directions and corresponding torque data in a three-dimensional space coordinate system.

[0031] Optionally, if the force sensor is a six-dimensional force sensor, the zero point calibration is determined according to the following formula:

[0032]

[0033]

[0034] where F s , T s Indicates the force and torque data read by the six-dimensional force sensor, F offset , T offset Indicates the zero point of the force and torque data of the six-dimensional force sensor, G mass represents the gravity component of the load mounted on the six-axis force sensor, P mass Indicates the center of mass position of the load under the six-dimensional force sensor, R sRepresents the six-dimensional force sensor coordinate system in the world coordinate system.

[0035] Optionally, the method further includes:

[0036] After confirming that the mechanical arm has no interfering force, the compensation value of each load is calculated according to the force data, the load data and the zero point calibration data of each load in the preset load list;

[0037] According to the ranking of the compensation values, the load corresponding to the minimum compensation value is used as the assumed load;

[0038] A load identification characteristic value is calculated according to the minimum compensation value, and if the load identification characteristic value does not exceed a load identification threshold, it is determined that the assumed load is a real load.

[0039] Optionally, the compensation value of each load is calculated according to the force data, the load data and the zero point calibration data of each load in a preset load list, including:

[0040] Determine the compensation value of the force and torque in the multi-dimensional force sensor after gravity compensation according to the following formula:

[0041]

[0042]

[0043] In the formula, F s , T s Indicates the force and torque data read by the six-dimensional force sensor, F offset , T offset Indicates the zero point of the force and torque data of the six-dimensional force sensor, G mass represents the gravity component of the load mounted on the six-axis force sensor, P mass Indicates the center of mass position of the load under the six-dimensional force sensor, R s It represents the six-dimensional force sensor coordinate system in the world coordinate system, F compensated and T compensated Indicates the compensation value of force and moment after gravity compensation.

[0044] Optionally, if the load identification characteristic value does not exceed the load identification threshold, determining that the assumed load is a real load includes:

[0045] If the load identification characteristic value is less than a first threshold, it is confirmed that the load is accurately identified;

[0046] If the load identification characteristic value is greater than a first threshold value and less than a second threshold value, it is confirmed that the load is approximately identified;

[0047] If the load identification characteristic value is greater than a second threshold, confirming that the load is not identified;

[0048] When it is confirmed that the load is accurately identified and approximately identified, the assumed load is determined to be a real load.

[0049] On the other hand, the present invention also provides a mechanical arm calibration device, comprising:

[0050] A collection unit, used for collecting force data of a force sensor disposed on the mechanical arm;

[0051] an eigenvalue calculation unit, used for calculating an eigenvalue according to the force data;

[0052] A comparison unit, used for comparing the characteristic value with a preset threshold value;

[0053] an interference force confirmation unit, for confirming the presence of interference force on the robotic arm if the threshold value is exceeded;

[0054] The calibration unit is used to confirm that the interference force does not exist if the threshold value is not exceeded, and to perform zero point calibration on the mechanical arm force sensor.

[0055] On the other hand, an embodiment of the present invention further provides an electronic device, including: a processor and a memory;

[0056] The memory stores a computer-readable program executable by the processor;

[0057] When the processor executes the computer-readable program, the steps in the above method are implemented.

[0058] On the other hand, an embodiment of the present invention further provides a computer-readable storage medium, characterized in that the computer-readable storage medium stores one or more programs, and the one or more programs can be executed by one or more processors to implement the steps in the above method.

[0059] The present invention provides a mechanical arm calibration method and device. Before zero point calibration, interference force detection is first performed. The mechanical arm interference force detection method calculates characteristic values ​​based on force data, and compares the characteristic values ​​with threshold values ​​to obtain the result of whether there is interference force. Compared with the detection method of the mechanical arm joint torque sensor, the problems of large probability of misjudgment, complex calculation model, poor reliability, etc. can be solved, and reliable and accurate judgment basis is provided for the subsequent zero point calibration, load identification and compensation start conditions. The zero point calibration of the force sensor can be automatically performed when the mechanical arm and the force sensor are connected, without the need to manually perform the zero point calibration operation. The load identification method uses a traversal method to calculate the compensation value of each pre-calibrated load in the list, takes the load corresponding to the minimum compensation value as the assumed load, and calculates the characteristic value and compares it with the threshold value to determine whether the assumed load is a real load. Compared with the compensation method of unknown load mass and center of mass, the time for load mass and center of mass identification is saved. At the same time, the tool at the end of the mechanical arm is allowed to be replaced and the current load can be quickly identified, so that dynamic identification of the load is realized, the current load is automatically identified, and appropriate load compensation is performed. Applying this method can greatly reduce the preparatory operations of the robot arm force control application and improve the user experience. BRIEF DESCRIPTION OF THE DRAWINGS

[0060] Figure 1 A schematic diagram of the structure of a robotic arm system to which a robotic arm calibration method provided in an embodiment of the present invention can be applied;

[0061] Figure 2 A schematic diagram of a robotic arm calibration method flow chart is provided for an embodiment of the present invention;

[0062] Figure 3 A schematic flow chart of a robot arm calibration method is provided for another embodiment of the present invention;

[0063] Figure 4 A schematic diagram of a process flow of identifying a robot arm load in a robot arm calibration method provided by another embodiment of the present invention;

[0064] Figure 5 A schematic diagram of a process flow of identifying a robot arm load in a robot arm calibration method provided by another embodiment of the present invention;

[0065] Figure 6 A flowchart of a robot arm calibration method provided by another embodiment of the present invention;

[0066] Figure 7 A schematic diagram of the structure of a mechanical arm calibration device provided by an embodiment of the present invention;

[0067] Figure 8It is a structural block diagram of a terminal that can implement the robot arm calibration method, zero point calibration method, load identification method and compensation method of an embodiment of the present invention.

[0068] In the figure:

[0069] 1. Flange at the end of the robotic arm; 2. Six-dimensional force sensor; 3. End load. DETAILED DESCRIPTION

[0070] In order to enable those skilled in the art to better understand the solution of the present application, the technical solution in the embodiments of the present application will be clearly and completely described below in conjunction with the drawings in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without creative work should fall within the scope of protection of the present application.

[0071] Conventional methods have limitations on the force control of the robotic arm, and require pre-zero point calibration of the six-axis force sensor under the condition that it is determined that there is no interference force on the robotic arm. In addition, when identifying the load, for the load known to be installed at the end of the robotic arm, it cannot meet the usage requirements in scenarios where the load at the end of the robotic arm is frequently changed and there are high requirements for smooth use (such as robotic arm-assisted surgical operations, etc.).

[0072] The present invention proposes a robot arm calibration method and device to solve the above technical problems existing in the related art.

[0073] Embodiment 1

[0074] According to an embodiment of the present invention, a robot arm calibration method is provided, combining Figure 2 , the method comprising:

[0075] Step S101, collecting force data of a force sensor disposed on the robotic arm.

[0076] As an example, in step S101, the force sensor on the robot arm is a multi-dimensional force sensor, which can be set at the end of the robot arm, such as fixed on a flange at the end of the robot arm, and a load (i.e., a surgical tool) is set at the end of the robot arm. The multi-dimensional force sensor can collect multi-dimensional force data, combined with Figure 1Taking the six-dimensional force sensor 2 used in the embodiment of the present invention as an example, the six-dimensional force sensor 2 is fixed on the flange 1 at the end of the robot arm, and the load 3 at the end of the robot arm is fixed on the six-dimensional force sensor 2. External force contacting the six-dimensional force sensor 2 or the end load 3 will cause the reading of the six-dimensional force sensor 2 to change. The force data collected includes the force in the three directions of XYZ in the spatial coordinate system and the corresponding torque data. The data dimensions collected by the six-dimensional force sensor are richer and more comprehensive, which helps to improve the resolution and accuracy of interference force identification.

[0077] Step S103, calculating characteristic values ​​according to the force data;

[0078] Step S105, comparing the characteristic value with a preset threshold;

[0079] Step S107, if it exceeds the threshold, confirming that there is interference force on the robotic arm;

[0080] Step S109: If the threshold value is not exceeded, it is confirmed that the interference force does not exist, and the robot arm force sensor is calibrated at zero point.

[0081] Jitter is an inherent characteristic of the human hand. Without deliberate control, the contact between the human hand and the end of the robotic arm or other interference forces will cause the force sensor data to fluctuate. This feature can be used to identify whether the end of the robot is in a disturbed state. When the end of the robotic arm is in a static and interference-free state, the zero point calibration and dynamic load identification of the force sensor can be performed. Compared with the detection method using the robotic arm joint torque sensor, this method can solve the problems of high probability of misjudgment, complex calculation model, poor reliability, etc., and provide a reliable and accurate judgment basis for the subsequent zero point calibration, load identification and compensation start conditions.

[0082] In step S103, as an example, calculating the characteristic value according to the force data includes:

[0083] The sub-eigenvalues ​​of each dimension of the multi-dimensional force data are calculated, and the sub-eigenvalues ​​of each dimension of the force data are compared with the corresponding thresholds. In this way, the eigenvalues ​​calculated are more diverse in dimension, which is conducive to improving the accuracy of interference force identification.

[0084] For example, the variance of the force data of each dimension can be calculated, and the eigenvalue can be confirmed based on the variance. If the multi-dimensional force data includes directional force data and torque data of the directional force, the variance of the directional force of each dimension can be calculated, and the logarithm of the sum of the variances of the directional forces can be calculated as the force variance eigenvalue; the variance of the moment of the directional force of each dimension can be calculated, and the logarithm of the sum of the variances of the moments can be calculated as the moment variance eigenvalue; finally, the force variance eigenvalue and the moment variance eigenvalue are compared with the corresponding force variance threshold and the moment variance threshold, respectively. The eigenvalues ​​of the force data and the moment data are calculated separately and compared with the thresholds, which not only considers the magnitude of the force, but also the spatial posture of the directional force, making the dimension of the eigenvalue more three-dimensional and comprehensive, further improving the accuracy of interference force identification. For example, when comparing, the following judgment logic can be used: when the force variance eigenvalue exceeds the force variance threshold, or the torque variance eigenvalue exceeds the torque variance threshold, it is confirmed that there is an interference force on the robotic arm, that is, as long as one of the two eigenvalues ​​is greater than the corresponding threshold, it is confirmed that there is an interference force, otherwise it is confirmed that there is no interference force.

[0085] As an example, the characteristic value may be calculated in step S103 and compared with the threshold value in step S104 in the following manner.

[0086] In step S103, for the six-dimensional force data (FX, FY, FZ, TX, TY, TZ), the variance of each dimension of data is calculated respectively, and the formula is as follows:

[0087]

[0088]

[0089] Range(X)=max(X)-min(X)

[0090] is the mean of the sample, Var(X) is the variance of the sample, Range(X) is the range of the sample, max(X) is the maximum value of the sample, and min(X) is the minimum value of the sample. i represents the sequence number of the element in the sample, X i Represents the value of the i-th element in the sample. n is the total number of elements in the sample.

[0091] The logarithm of the sum of the variances of the forces in the three directions and the sum of the variances of the torques in the three directions are calculated as eigenvalues:

[0092] feature(varF)=log10(Var(FX)+Var(FY)+Var(FZ))

[0093] feature(varT)=log10(Var(TX)+Var(TY)+Var(TZ))

[0094] The judgment threshold th() of the feature value should be determined according to the actual application. Since there are two feature values, feature(varF) and feature(varT), two thresholds th(varF) and th(varT) are set respectively.

[0095] Wherein, feature(varF) is the force variance eigenvalue in the above embodiment, Var(FX) is the sample variance of the force in the x-axis direction, Var(FY) is the sample variance of the force in the y-axis direction, and Var(FZ) is the sample variance of the force in the z-axis direction. feature(varT) is the torque variance eigenvalue in the above embodiment, Var(TX) is the sample variance of the x-axis torque, Var(TY) is the sample variance of the y-axis torque, and Var(TZ) is the sample variance of the z-axis torque. th(varF) and th(varT) are the force variance threshold and torque variance threshold introduced above, respectively.

[0096] As an example, the specific method for determining the threshold value can be as follows: during the test phase of the robotic arm, first, in the absence of interference force, force data is collected, and the force variance eigenvalue and torque variance eigenvalue in this case are calculated. For the convenience of distinction, they are collectively referred to as normal eigenvalues. Correspondingly, during the test phase, in the presence of interference force, force data is collected, and the force variance eigenvalue and torque variance eigenvalue in this case are calculated, which can be referred to as interference eigenvalues. Then, the normal eigenvalue and the interference eigenvalue are compared, and a reasonable value, such as the median of the two, is taken as the threshold value. Since the threshold value is between the critical point of the normal eigenvalue and the interference eigenvalue, it can be used as the above threshold value.

[0097] Next, in step S107, if the variance eigenvalue is greater than the threshold, it is considered that the robot end is in contact with the human hand; otherwise, it is not in contact with the human hand, and the feature is judged:

[0098] A(feature)=[feature(varF),feature(varT)]

[0099] B(threshhold)=[th(varF),th(varT)]

[0100] It can be expressed as a function:

[0101]

[0102] Among them, feature(varF) is the force variance eigenvalue in the above embodiment, feature(varT) is the torque variance eigenvalue in the above embodiment, th(varF) and th(varT) are respectively the force variance threshold and torque variance threshold introduced above, and status represents the interference force judgment result. The judgment logic of the above formula is: when feature(varF)>th(varF), or feature(varT)>th(varT), then the condition "if A(feature)>B(threshold)" is satisfied, then it is confirmed that there is an interference force (disturbed), otherwise (else), there is no interference force (undisturbed).

[0103] Further, as described above, in step S103, the range of each dimensional force data can also be calculated, and the corresponding eigenvalue can be calculated based on the variance and the range, and compared with the corresponding threshold. For example, the variance of the directional force of each dimension can be calculated, and the logarithm of the sum of the variances of the directional forces can be calculated as the force variance eigenvalue; the variance of the moment of the directional force of each dimension can be calculated, and the logarithm of the sum of the variances of the moments can be calculated as the moment variance eigenvalue; the range of the directional force of each dimension can be calculated, and the sum of the range of the directional force can be used as the force range eigenvalue; the range of the moment of the directional force of each dimension can be calculated, and the sum of the range of the moment can be used as the moment range eigenvalue.

[0104] The force variance eigenvalue, the moment variance eigenvalue, the force extreme difference eigenvalue and the moment extreme difference eigenvalue are respectively compared with the corresponding thresholds. Using the variance and the extreme difference as the comparison basis of the threshold at the same time can further improve the accuracy of the interference force identification. For example, if the force variance eigenvalue exceeds the force variance threshold, or the moment variance eigenvalue exceeds the moment variance threshold, it is confirmed that the first interference force existence condition is met, if the force extreme difference eigenvalue exceeds the force extreme difference threshold, or the moment extreme difference eigenvalue exceeds the moment extreme difference threshold, it is confirmed that the second interference force existence condition is met, and when the first interference force existence condition and the second interference force existence condition are met at the same time, it is confirmed that the mechanical arm has an interference force.

[0105] As an example, the characteristic value may be calculated in step S103 and compared with the threshold value in step S105 in the following manner:

[0106] The range of sample data can also be used as a characteristic value to assist in determining whether there is interference. The calculation formula is as follows:

[0107] feature(rangeF)=Range(FX)+Range(FY)+Range(FZ)

[0108] feature(rangeT)=Range(TX)+Range(TY)+Range(TZ)

[0109] The judgment threshold th() of the characteristic value should be determined according to the actual application situation. In this embodiment, the thresholds are th(rangeF) and th(rangeT) respectively.

[0110] Among them, feature(rangeF) is the force extreme difference characteristic value in the above embodiment, Range(FX) is the sample extreme difference of the force in the x-axis direction, Range(FY) is the sample extreme difference of the force in the y-axis direction, and Range(FZ) is the sample extreme difference of the force in the z-axis direction. feature(rangeT) is the torque extreme difference characteristic value in the above embodiment, Range(TX) is the sample extreme difference of the torque in the x-axis, Range(TY) is the sample extreme difference of the torque in the y-axis, and Range(TZ) is the sample extreme difference of the torque in the z-axis. th(rangeF) and th(rangeT) are the force extreme difference threshold and torque extreme difference threshold introduced above, respectively.

[0111] As an example, the specific judgment method of the threshold value can be adopted as follows: in the test phase of the robot arm, first, in the absence of interference force, force data is collected, and the force extreme difference characteristic value and the torque extreme difference characteristic value in this case are calculated. For the convenience of distinction, they are collectively referred to as normal characteristic values. Correspondingly, in the test phase, in the presence of interference force, force data is collected, and the force extreme difference characteristic value and the torque extreme difference characteristic value in this case are calculated, which can be called interference characteristic values. Then, the normal characteristic value and the interference characteristic value are compared, and a reasonable value, such as the median of the two, is taken as the threshold value. Since the threshold value is between the critical point between the normal characteristic value and the interference characteristic value, it can be used as the above threshold value.

[0112] If the variance eigenvalue is greater than the threshold and the range threshold is greater than the threshold, it is considered that there is interference force at the end of the robot. The judgment logic can be expressed as:

[0113] A(feature)=[feature(varF),feature(varT),feature(rangeF),feature(rangeT)]

[0114] B(threshhold)=[th(varF),th(varT),th(rangeF),th(rangeT)]

[0115] It can be expressed as a function:

[0116]

[0117] When feature(varF)>th(varF), or feature(varT)>th(varT), it is confirmed that the first interference force existence condition is met. When feature(rangeF)>th(rangeF), or feature(rangeT)>th(rangeT), it is confirmed that the second interference force existence condition is met. If both the first interference force existence condition and the second interference force existence condition are met, then the condition "if A(feature)>B(threshold)" is met, then it is confirmed that the interference force exists (disturbed). Otherwise (else), there is no interference force (undisturbed).

[0118] As an example, an embodiment of the present invention provides a robotic arm calibration method that may include:

[0119] First, force data is continuously collected and stored in a fixed-length buffer for later use.

[0120] Then, for the six-dimensional force data (FX, FY, FZ, TX, TY, TZ) in the buffer area, the eigenvalue (currently the logarithm of the sum of variances) is obtained. The method for obtaining the eigenvalue can be referred to the introduction in the above embodiment.

[0121] Finally, a threshold judgment is performed on the obtained eigenvalues: if it exceeds the threshold, it means that there is an interference force at the end of the current robotic arm; if it is lower than the threshold, it is considered that there is no interference force at the end of the current robotic arm.

[0122] Further, step S109 is executed, and if the threshold is not exceeded, it is confirmed that the interference force does not exist, and the robot arm force sensor is calibrated at the zero point.

[0123] As an example, if the force sensor is a six-dimensional force sensor, when there is no external interference force and the load is known, the zero point calibration is determined according to the following formula:

[0124]

[0125]

[0126] where F s , T s Indicates the force and torque data read by the six-dimensional force sensor, F offset , T offset Indicates the zero point of the force and torque data of the six-dimensional force sensor, G mass represents the gravity component of the load mounted on the six-axis force sensor, P mass Indicates the center of mass position of the load under the six-dimensional force sensor, R s Represents the six-dimensional force sensor coordinate system in the world coordinate system.

[0127] According to the method proposed in this embodiment, the zero-point calibration of the six-dimensional force sensor can be automatically performed when the mechanical arm and the six-dimensional force sensor are connected, without the need to manually perform the zero-point calibration operation. Specifically, the present invention first collects the force data of the force sensor arranged on the mechanical arm, calculates the characteristic value based on the force data, and compares the characteristic value with the preset threshold value to confirm whether there is an interfering force on the mechanical arm; if it is confirmed that there is no interfering force, the mechanical arm force sensor is zero-calibrated, so that the zero-point calibration operation can be completed automatically without manual execution. After the zero-point calibration is completed, the mechanical arm can perform load identification, identify the current load in use, and perform appropriate load compensation. The application of this method can greatly reduce the preparatory operations of the mechanical arm force control application and improve the user experience.

[0128] Furthermore, the robot arm calibration method provided in the embodiment of the present invention also includes a load identification step, specifically including:

[0129] Step S301, collecting force data of a force sensor disposed on the robotic arm.

[0130] As an example, in step S301, the force sensor on the mechanical arm is a multi-dimensional force sensor, which can be set at the end of the mechanical arm, such as fixed on a flange at the end of the mechanical arm, and a load (i.e., a surgical tool) is set at the end of the mechanical arm. The multi-dimensional force sensor can collect multi-dimensional force data. Taking the six-dimensional force sensor used in the embodiment of the present invention as an example, the force data collected includes the force in the three directions of XYZ in the spatial coordinate system and the corresponding torque data.

[0131] Step S303, after confirming that the robot arm has no interference force, respectively calculate the compensation value of each load according to the force data, load data and the zero point calibration data of each load in the preset load list;

[0132] Step S305, according to the order of the compensation values, taking the load corresponding to the minimum compensation value as the assumed load;

[0133] Step S307: calculating a load identification characteristic value according to the minimum compensation value, and if the load identification characteristic value does not exceed a load identification threshold, determining that the assumed load is a real load.

[0134] Since the end surgical tools used by the robotic arm are limited and the load data can be pre-identified and stored, a dynamic load matching calculation can be performed based on the load data in the stored surgical tool list to determine the current load type.

[0135] As an example, this embodiment first collects six-dimensional force sensor data and robot arm posture data, and then calculates the compensation value and characteristic value of force and torque one by one according to all known loads in the load list (see below for details). Finally, it is judged based on the calculated minimum load characteristic value and the load identification threshold. If it exceeds the threshold, it returns a matching failure. If it is less than the threshold, this load is selected as the matching load and gravity compensation is performed. In this embodiment, after the zero point calibration is completed, the robot arm can dynamically identify the load, automatically identify the current load in use, and perform appropriate load compensation. The application of this method can greatly reduce the pre-preparation operations of the robot arm force control application and improve the user experience.

[0136] As an example, in step S303, the identification of dynamic loads will be performed in a traversal manner at a regular interval. Under the premise of no interference force, gravity compensation is performed on all loads in a given load list according to the six-dimensional force sensor data. Specifically, the compensation values ​​of the force and torque in the multi-dimensional force sensor after gravity compensation can be determined according to the following formula:

[0137]

[0138]

[0139] In the formula, F s , T s Indicates the force and torque data read by the six-dimensional force sensor, F offset , T offset Indicates the zero point of the force and torque data of the six-dimensional force sensor, G mass represents the gravity component of the load mounted on the six-axis force sensor, P mass Indicates the center of mass position of the load under the six-dimensional force sensor, R s It represents the six-dimensional force sensor coordinate system in the world coordinate system, F conpensated and T compensated Indicates the compensation value of force and moment after gravity compensation.

[0140] Theoretically, when the end of the robot arm is at rest and there is no external interference force, if the load is assumed to be the actual load installed at the end of the current robot arm, the compensation value of force and torque F compensated and T compensated It should be 0. The force and moment F after the assumed load compensation can be compensated and T compensated The error between the assumed load and 0 is calculated, and a load identification characteristic value is compared with the given load identification threshold to determine whether the assumed load is the real load currently installed at the end of the robot arm.

[0141] Load identification characteristic value calculation formula:

[0142] feature(Payload)=norm(F compensated )+K*norm(T compensated )

[0143] Where norm(F compensated ) and norm(T compensated ) is the size of the resultant force and moment after compensation, and K is a fixed coefficient that can be determined and set by experience.

[0144] When performing load identification, the loads are arranged from small to large according to their feature (Payload) values, and only the load with the smallest feature (Payload) value is identified and judged, because the smallest compensation value means the smallest error with 0, and is most likely to be judged as a real load.

[0145] In the above embodiment, the load identification threshold can be further refined into a first threshold and a second threshold, both of which are determined based on experience. For example, the first threshold can be set to 0.1, and the second threshold can be set to 0.2.

[0146] The identified status status can be divided into three levels: Precise, Proximate and Deviated through the first threshold th (precise) and the second threshold th (proximate), indicating precise identification, approximate identification and unidentified matching of the load.

[0147]

[0148] Taking the above first threshold value as 0.1 and the second threshold value as 0.2 as an example, the above formula shows that the load identification characteristic value within 0-0.1 is considered to be accurate identification, within 0.1-0.2 is approximate identification, and exceeding 0.2 is not identified. Of course, the above first threshold value and the second threshold value can also take other values, which are only introduced as examples in this embodiment for the convenience of understanding.

[0149] According to the needs of use, it can be defined that the load is set only when the load identification state is Precise or the load identification state is Precise or Proximate, for load compensation. The load compensation of the six-dimensional force sensor is calculated using the load gravity compensation formula in the method. In this way, the recognition results can be further refined into two modes: precise recognition and approximate recognition, which helps to provide a certain degree of flexibility for the accuracy requirements of recognition, and can be used as graded data for the accuracy of load recognition, so as to provide data support for optimizing the recognition algorithm.

[0150] Compared with the compensation method of unknown load mass and center of mass, the above method saves the time of load mass and center of mass identification. At the same time, it allows the end tool of the robot arm to be replaced and can quickly identify the current load.

[0151] It should be understood that load identification can only be performed when the robot arm has been calibrated to zero point and there is no interfering force.

[0152] Further, step S309 is executed, and if it is confirmed that the assumed load is a real load, gravity compensation is performed according to the calculated compensation value.

[0153] The embodiments of the present invention can complete the automatic zero point calibration of the six-dimensional force sensor and the dynamic identification and compensation of the load at the end of the robotic arm according to the results of the interference force detection, thereby increasing the smoothness of the robotic arm power control application and meeting the usage requirements in specific scenarios (such as robotic arm-assisted surgical operations, etc.).

[0154] Embodiment 2

[0155] The embodiment of the present invention further provides a mechanical arm calibration device, comprising:

[0156] A collection unit 61, used to collect force data of a force sensor disposed on the mechanical arm;

[0157] an eigenvalue calculation unit 63, configured to calculate an eigenvalue according to the force data;

[0158] A comparison unit, used for comparing the characteristic value with a preset threshold value;

[0159] The interference force confirmation unit 67 is used to confirm that there is interference force on the robot arm if the threshold is exceeded.

[0160] The calibration unit 69 is used to perform zero point calibration on the mechanical arm force sensor if the threshold value is not exceeded to confirm that the interference force does not exist.

[0161] Furthermore, an embodiment of the present invention also provides a mechanical arm calibration device, which also includes a load identification unit, including:

[0162] A collection unit, used for collecting force data of a force sensor disposed on the mechanical arm;

[0163] A compensation value calculation unit, configured to calculate the compensation value of each load according to the force data, the load data and the zero point calibration data of each load in a preset load list after confirming that the mechanical arm has no interference force;

[0164] an assumed load confirmation unit, configured to take the load corresponding to the minimum compensation value as the assumed load according to the order of the compensation values;

[0165] The real load confirmation unit is used to calculate a load identification characteristic value according to the minimum compensation value, and if the load identification characteristic value does not exceed a threshold value, determine that the assumed load is a real load.

[0166] Furthermore, an embodiment of the present invention also provides a robot arm calibration device, which, based on the load identification unit of the above-mentioned robot arm, also includes a compensation unit for performing gravity compensation according to the calculated compensation value if the assumed load is confirmed to be a real load.

[0167] Through the description of the above implementation methods, those skilled in the art can clearly understand that the method according to the above embodiment can be implemented by means of software plus a necessary general hardware platform, and of course by hardware, but in many cases the former is a better implementation method. Based on this understanding, the technical solution of the present application, or the part that contributes to the prior art, can be embodied in the form of a software product, which is stored in a storage medium (such as ROM / RAM, magnetic disk, optical disk), and includes a number of instructions for a terminal device (which can be a mobile phone, computer, server, or network device, etc.) to execute the methods described in each embodiment of the present application.

[0168] Figure 8 is a structural block diagram of a terminal according to an embodiment of the present application, such as Figure 8 As shown, the terminal may include: one or more (only one is shown) processors 101, a memory 103, and a transmission device 105, such as Figure 8 As shown, the terminal may also include an input and output device 107 .

[0169] Among them, the memory 103 can be used to store software programs and modules, such as program instructions / modules corresponding to the methods and devices in the embodiments of the present application. The processor 101 executes various functional applications and data processing by running the software programs and modules stored in the memory 103, that is, implementing the above-mentioned method. The memory 103 may include a high-speed random access memory, and may also include a non-volatile memory, such as one or more magnetic storage devices, flash memory, or other non-volatile solid-state memory. In some instances, the memory 103 may further include a memory remotely arranged relative to the processor 101, and these remote memories may be connected to the terminal via a network. Examples of the above-mentioned network include, but are not limited to, the Internet, an intranet, a local area network, a mobile communication network, and combinations thereof.

[0170] The above-mentioned transmission device 105 is used to receive or send data via a network, and can also be used for data transmission between a processor and a memory. Specific examples of the above-mentioned network may include a wired network and a wireless network. In one example, the transmission device 105 includes a network adapter (Network Interface Controller, NIC), which can be connected to other network devices and routers via a network cable so as to communicate with the Internet or a local area network. In one example, the transmission device 105 is a radio frequency (Radio Frequency, RF) module, which is used to communicate with the Internet wirelessly.

[0171] Specifically, the memory 103 is used to store application programs.

[0172] The processor 101 may call the application stored in the memory 103 through the transmission device 105 to execute each step in the above method. Optionally, the specific examples in this embodiment may refer to the examples described in the above embodiments, and this embodiment will not be repeated here.

[0173] Those skilled in the art will appreciate that the above terminal structures are for illustration only, and the terminals may be smart phones (such as Android phones, iOS phones, etc.), tablet computers, PDAs, mobile Internet devices (MID), PADs, and other terminal devices. Figure 8 It does not limit the structure of the above electronic device. For example, the terminal may also include Figure 8 More or fewer components (such as network interfaces, display devices, etc.) shown in, or having Figure 8 Different configurations shown.

[0174] A person of ordinary skill in the art can understand that all or part of the steps in the various methods of the above embodiments can be completed by instructing the hardware related to the terminal device through a program, and the program can be stored in a computer-readable storage medium, and the storage medium may include: a flash drive, a read-only memory (ROM), a random access memory (RAM), a magnetic disk or an optical disk, etc.

[0175] The embodiment of the present application further provides a storage medium. Optionally, in this embodiment, the storage medium can be used to execute the program code of the method of each embodiment above.

[0176] Optionally, in this embodiment, the storage medium may be located on at least one network device among a plurality of network devices in the network shown in the above embodiment.

[0177] Optionally, the specific examples in this embodiment may refer to the examples described in the above embodiments, and this embodiment will not be described in detail here.

[0178] Optionally, in this embodiment, the above-mentioned storage medium may include but is not limited to: a USB flash drive, a read-only memory (ROM), a random access memory (RAM), a mobile hard disk, a magnetic disk or an optical disk, and other media that can store program codes.

[0179] The above is only a preferred implementation of the present application. It should be pointed out that for ordinary technicians in this technical field, several improvements and modifications can be made without departing from the principles of the present application. These improvements and modifications should also be regarded as the scope of protection of the present application.

Claims

1. A robotic arm calibration method, characterized in that: include: collecting force data of a force sensor disposed on the mechanical arm; calculating a characteristic value based on the force data; Compare the characteristic value with a preset threshold value, If the threshold is exceeded, it is confirmed that the robot arm has an interfering force; If the threshold is not exceeded, it is confirmed that the interference force does not exist, and the sensor of the robot arm force is calibrated at the zero point.

2. The robot arm calibration method according to claim 1, characterized in that: The force data of the force sensor includes multi-dimensional force data of a multi-dimensional force sensor; Calculating the characteristic value according to the force data comprises: The variance of each dimension of the multi-dimensional force data is calculated, and a variance eigenvalue is calculated based on the variance.

3. The robot arm calibration method according to claim 2, characterized in that: The multi-dimensional force data includes directional force data and moment data of the directional force; The calculating the variance of each dimension of the multi-dimensional force data, and calculating the variance eigenvalue according to the variance, specifically includes: Calculate the variance of the directional force in each dimension, and calculate the logarithm of the sum of the variances of the directional forces as the force variance eigenvalue; calculate the variance of the moment of the directional force in each dimension, and calculate the logarithm of the sum of the variances of the moments as the moment variance eigenvalue; The comparing the characteristic value with a preset threshold value, and if the characteristic value exceeds the threshold value, confirming that the mechanical arm has an interfering force, includes: If the force variance eigenvalue exceeds the force variance threshold, or the torque variance eigenvalue exceeds the torque variance threshold, it is confirmed that there is interference force on the robotic arm.

4. The robot arm calibration method according to claim 1, characterized in that: The force data of the force sensor includes multi-dimensional force data of a multi-dimensional force sensor; Calculating the characteristic value according to the force data comprises: Calculate the variance of the directional force in each dimension, and calculate the logarithm of the sum of the variances of the directional forces as the force variance eigenvalue; calculate the variance of the moment of the directional force in each dimension, and calculate the logarithm of the sum of the variances of the moments as the moment variance eigenvalue; Calculate the range of the directional force in each dimension, and take the sum of the range of the directional force as the force range characteristic value; calculate the range of the moment of the directional force in each dimension, and take the sum of the range of the moment as the moment range characteristic value; The comparing the characteristic value with a preset threshold value, and if the characteristic value exceeds the threshold value, confirming that the mechanical arm has an interfering force, includes: If the force variance characteristic value exceeds the force variance threshold, or the moment variance characteristic value exceeds the moment variance threshold, it is confirmed that the first interference force existence condition is met; If the force extreme difference characteristic value exceeds the force extreme difference threshold, or the torque extreme difference characteristic value exceeds the torque extreme difference threshold, it is confirmed that the second interference force existence condition is met; If the first interference force existence condition and the second interference force existence condition are satisfied at the same time, it is confirmed that the interference force exists.

5. The robot arm calibration method according to any one of claims 2 to 4, characterized in that: The multi-dimensional force data of the multi-dimensional force sensor is six-dimensional force data of the six-dimensional force sensor, and the six-dimensional force data includes force data in three directions in a three-dimensional space coordinate system and corresponding torque data.

6. The robot arm calibration method according to claim 1, characterized in that: If the force sensor is a six-dimensional force sensor, the zero point calibration is determined according to the following formula: where F s , T s Indicates the force and torque data read by the six-dimensional force sensor, F offset , T offset Indicates the zero point of the force and torque data of the six-dimensional force sensor, G mass represents the gravity component of the load mounted on the six-axis force sensor, P mass Indicates the center of mass position of the load under the six-dimensional force sensor, R s Represents the six-dimensional force sensor coordinate system in the world coordinate system.

7. The robot arm calibration method according to claim 1, characterized in that: The method further comprises a load identification step, specifically comprising: collecting force data of a force sensor disposed on the mechanical arm; After confirming that the mechanical arm has no interfering force, the compensation value of each load is calculated according to the force data, the load data and the zero point calibration data of each load in the preset load list; According to the ranking of the compensation values, the load corresponding to the minimum compensation value is used as the assumed load; A load identification characteristic value is calculated according to the minimum compensation value, and if the load identification characteristic value does not exceed a load identification threshold, it is determined that the assumed load is a real load.

8. The robot arm calibration method according to claim 7, characterized in that: The step of calculating the compensation value of each load according to the force data, the load data and the zero point calibration data of each load in the preset load list comprises: Determine the compensation value of the force and torque in the multi-dimensional force sensor after gravity compensation according to the following formula: In the formula, F s , T s Indicates the force and torque data read by the six-dimensional force sensor, F offset , T offset Indicates the zero point of the force and torque data of the six-dimensional force sensor, G mass represents the gravity component of the load mounted on the six-axis force sensor, P mass Indicates the center of mass position of the load under the six-dimensional force sensor, R s It represents the six-dimensional force sensor coordinate system in the world coordinate system, F compensated and T compensated Indicates the compensation value of force and moment after gravity compensation.

9. The robot arm calibration method according to claim 7, characterized in that: If the load identification characteristic value does not exceed the load identification threshold, determining that the assumed load is a real load includes: If the load identification characteristic value is less than a first threshold, it is confirmed that the load is accurately identified; If the load identification characteristic value is greater than a first threshold value and less than a second threshold value, it is confirmed that the load is approximately identified; If the load identification characteristic value is greater than a second threshold, confirming that the load is not identified; When it is confirmed that the load is accurately identified and approximately identified, the assumed load is determined to be a real load.

10. The robot arm calibration method according to claim 7, characterized in that: If the assumed load is confirmed to be a real load, gravity compensation is performed according to the calculated compensation value.

11. A robot arm calibration device, characterized in that: include: A collection unit, used for collecting force data of a force sensor disposed on the mechanical arm; an eigenvalue calculation unit, used for calculating an eigenvalue according to the force data; A comparison unit, used for comparing the characteristic value with a preset threshold value; an interference force confirmation unit, for confirming the presence of interference force on the robotic arm if the threshold value is exceeded; The calibration unit is used to confirm that the interference force does not exist if the threshold value is not exceeded, and to perform zero point calibration on the force sensor of the robot arm.

12. An electronic device, characterized in that: include: Processor and memory; The memory stores a computer-readable program executable by the processor; When the processor executes the computer-readable program, the steps in the method according to any one of claims 1 to 10 are implemented.

13. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores one or more programs, and the one or more programs can be executed by one or more processors to implement the steps in the method according to any one of claims 1 to 10.

Citation Information

Patent Citations

  • Robot contact force detecting method based on torque observation and friction identification

    CN106426174A

  • Gravity and inertia force compensation method for six-dimensional force sensor at tail end of mechanical arm

    CN115157260A