CALIBRATING A VIRTUAL FORCE SENSOR OF A ROBOT MANIPULATOR
20230090384 · 2023-03-23
Inventors
Cpc classification
B25J9/1694
PERFORMING OPERATIONS; TRANSPORTING
International classification
Abstract
The invention relates to a method for calibrating a virtual force sensor of a robot manipulator, wherein the following steps are carried out in a plurality of poses: applying an external wrench to the robot manipulator, ascertaining an estimate of the external wrench, ascertaining a first calibration matrix based on the ascertained estimate and a specified external wrench, ascertaining a second calibration matrix by inverting the first calibration matrix, and storing the respective second calibration matrix in a data set of all of the second calibration matrices, thereby assigning each second calibration matrix to the respective pose for which each second calibration matrix was ascertained.
Claims
1. A method of calibrating a virtual force sensor of a robot manipulator, wherein the virtual force sensor is used to determine an external wrench acting on the robot manipulator based on torques determined by torque sensors in joints of the robot manipulator, wherein the robot manipulator (1) is moved or guided manually in a plurality of poses, and in each of the poses the method comprises: applying a respective specified external wrench to the robot manipulator; ascertaining an estimate of the external wrench based on an inverse or a pseudo-inverse of a transpose of the Jacobian matrix applicable to a current pose and based on an external torque vector, wherein the external torque vector is ascertained based on the torques determined by the torque sensors in the joints of the robot manipulator and based on expected torques acting on the robot manipulator; ascertaining a respective first calibration matrix based on the ascertained respective estimate of the external wrench and based on the respective specified external wrench; ascertaining a respective second calibration matrix by inverting the first calibration matrix, the second calibration matrix being used to adjust an external wrench currently determined during subsequent operation; and storing the respective second calibration matrix in a data set of all second calibration matrices by assigning the respective second calibration matrix to a respective pose for which the respective second calibration matrix was ascertained.
2. The method according to claim 1, wherein application of the specified external wrench to the robot manipulator takes place at a distal end of the robot manipulator.
3. The method according to claim 1, wherein ascertainment of the first calibration matrix takes place based on the ascertained estimate of the external wrench and based on a specified inverted or pseudo-inverted external wrench.
4. The method according to claim 1, wherein the method comprises: specifying a task for the robot manipulator; analyzing the task and identifying working points to be traveled when the task is carried out; and selecting respective poses of the robot manipulator in such a way that a respective one of the working points and a reference point of the robot manipulator match each other in a respective pose.
5. The method according to claim 1, wherein the robot manipulator is a redundant robot manipulator and the estimate of the external wrench is ascertained using the pseudo inverse of the transpose of the current Jacobian matrix for the respective pose of the robot manipulator.
6. The method according to claim 5, wherein at least for a subset of the plurality of poses of the robot manipulator, the method comprises: moving the redundant robot manipulator in its null space over a plurality of poses; determining a separate first calibration matrix and a second calibration matrix; and storing the first calibration matrix and the second calibration matrix for each of the plurality of poses.
7. The method according to claim 1, wherein application of the specified external wrench on the robot manipulator takes place by suspending a load having a specified mass to the robot manipulator.
8. The method according to claim 1, wherein application of the specified external wrench to the robot manipulator takes place by connecting a mechanical spring of the robot manipulator to a support in such a way that the mechanical spring is pre-tensioned and exerts a force on the robot manipulator.
9. The method according to claim 1, wherein application of the specified external wrench on the robot manipulator takes place by moving the robot manipulator, so that specified accelerations due to inertial mass of the robot manipulator take place on the robot manipulator.
10. The method according to claim 1, wherein the method comprises: generating a pose-dependent calibration function from the data set of all the second calibration matrices by selecting a specific second calibration matrix associated with a respective current pose of the robot manipulator or by generating an interpolation from at a two specific ones of all the second calibration matrices, wherein respective poses of the at least two specific ones of all the second calibration matrices are closest to the respective current pose of the robot manipulator; and applying the pose-dependent calibration function on a currently determined external wrench acting on the robot manipulator.
11. A robot system comprising: a robot manipulator comprising joints; torque sensors disposed in the joints of the robot manipulator; a control unit designed to implement a virtual force sensor on the robot manipulator, the virtual force sensor being used to determine an external wrench acting on the robot manipulator based on torques determined by the torque sensors, wherein the robot manipulator is moved or guided manually in a plurality of poses, and in each of the poses the control unit is configured to: apply a respective specified external wrench to the robot manipulator; ascertain an estimate of the external wrench based on an inverse or a pseudo-inverse of a transpose of the Jacobian matrix applicable to a current pose and based on an external torque vector, wherein the external torque vector is ascertained based on the torques determined by the torque sensors in the joints of the robot manipulator and based on expected torques acting on the robot manipulator, ascertain a respective first calibration matrix based on the ascertained estimate of the external wrench and based on the respective specified external wrench; ascertain a respective second calibration matrix by inverting the first calibration matrix, the second calibration matrix being used to adjust an external wrench currently determined during subsequent operation; and store the respective second calibration matrix in a data set of all second calibration matrices by assigning the respective second calibration matrix to a respective pose for which the respective second calibration matrix was ascertained.
12. The system according to claim 11, wherein application of the specified external wrench to the robot manipulator takes place at a distal end of the robot manipulator.
13. The system according to claim 11, wherein ascertainment of the first calibration matrix takes place based on the ascertained estimate of the external wrench and based on a specified inverted or pseudo-inverted external wrench.
14. The system according to claim 11, wherein the control unit is configured to: specify a task for the robot manipulator, analyze the task and working points to be traveled when the task is carried out; and select respective poses of the robot manipulator in such a way that a respective one of the working points and a reference point of the robot manipulator match each other in a respective pose.
15. The system according to claim 11, wherein the robot manipulator is a redundant robot manipulator and the estimate of the external wrench is ascertained using the pseudo inverse of the transpose of the current Jacobian matrix for the respective pose of the robot manipulator.
16. The system according to claim 15, wherein at least for a subset of the plurality of poses of the robot manipulator, the control unit is configured to: move the redundant robot manipulator in its null space over a plurality of poses; determine a separate first calibration matrix and a second calibration matrix; and store the first calibration matrix and the second calibration matrix for each of the plurality of poses.
17. The system according to claim 11, wherein application of the specified external wrench on the robot manipulator takes place by suspending a load having a specified mass to the robot manipulator.
18. The system according to claim 1, wherein application of the specified external wrench to the robot manipulator takes place by connecting a mechanical spring of the robot manipulator to a support in such a way that the mechanical spring is pre-tensioned and exerts a force on the robot manipulator.
19. The system according to claim 1, wherein application of the specified external wrench on the robot manipulator takes place by moving the robot manipulator, so that specified accelerations due to inertial mass of the robot manipulator take place on the robot manipulator.
20. The system according to claim 11, wherein the control unit is configured to: generate a pose-dependent calibration function from the data set of all the second calibration matrices by selecting a specific second calibration matrix associated with a respective current pose of the robot manipulator or by generating an interpolation from at least two specific ones of all the second calibration matrices, wherein respective poses of the at least two specific ones of all the second calibration matrices are closest to the respective current pose of the robot manipulator, and apply the pose-dependent calibration function on a currently determined external wrench acting on the robot manipulator.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0039] In the drawings:
[0040]
[0041]
[0042]
[0043] The illustrations in the figures are schematic and not to scale.
DETAILED DESCRIPTION
[0044]
F.sub.ext,est=(J.sup.T).sup.#τ.sub.ext
[0045] The pseudo-inverse of the transpose of the Jacobian matrix applicable to the current pose, namely (J.sup.T).sup.#, is used because a redundant robot manipulator 1 is involved.
[0046] This is followed at operation S3 by ascertaining a respective first calibration matrix K.sub.1 based on the determined estimate of the external wrench F.sub.ext,est and based on the specified pseudo-inverted external wrench F.sub.ext,real, namely:
K.sub.1=F.sub.ext,est(F.sub.ext,real.sup.TF.sub.ext,real).sup.−1F.sub.ext,real.sup.T
[0047] At operation S4, the ascertaining of a respective second calibration matrix takes place by inverting the first calibration matrix, wherein the second calibration matrix is used to adjust an external wrench currently determined during subsequent operation, and
K.sub.2=(K.sub.1.sup.TK.sub.1).sup.−1K.sub.1.sup.T
[0048] Finally, at operation S5, there takes place storing of the respective second calibration matrix K.sub.2 in a data set of all of the second calibration matrices with assignment of the respective second calibration matrix to the respective pose for which the respective second calibration matrix was determined. Such a robot manipulator 1, on which this method is carried out, is shown in
[0049]
[0050]
[0051] Although the invention has been further illustrated and described in detail by way of preferred example embodiments, the invention is not limited by the disclosed examples, and other variations can be derived therefrom by a person skilled in the art without departing from the scope of protection of the invention. It is therefore clear that many possible variations exist. It is also clear that example embodiments actually only represent examples, which are not to be construed in any way as limiting the scope of protection, the possible applications, or the configuration of the invention. Rather, the preceding description and the description of the figures enable a person skilled in the art to put into practice the example embodiments, wherein a person skilled in the art, knowing the disclosed concept of the invention, can make various changes, for example, with respect to the function or arrangement of individual elements cited in an example embodiment, without leaving the scope of protection as defined by the claims and their legal equivalents, such as more extensive explanations in the description.
LIST OF REFERENCE NUMERALS
[0052] 1 robot manipulator [0053] 3 torque sensors [0054] 5 distal end of the robot manipulator [0055] 10 robot system [0056] 12 robot arm [0057] 13 torque sensors [0058] 14 control unit [0059] S1 applying [0060] S2 ascertaining [0061] S3 ascertaining [0062] S4 ascertaining [0063] S5 storing