CALIBRATING A VIRTUAL FORCE SENSOR OF A ROBOT MANIPULATOR

20230008146 · 2023-01-12

    Inventors

    Cpc classification

    International classification

    Abstract

    A method of calibrating a virtual force sensor of a robot manipulator, wherein in a plurality of poses, the method comprises: applying an external wrench to the robot manipulator ascertaining an estimate of the external wrench, ascertaining a respective cost function based on a difference between the determined estimate of the external wrench and a specified external wrench, ascertaining a respective calibration function by minimizing the respective cost function, and storing the respective calibration function in a data set of all calibration functions with assignment of the respective calibration function to a respective pose for which the respective calibration function 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 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 a respective estimate of the external wrench based on an inverted or pseudo-inverted of the transpose of the Jacobian matrix applicable to a current pose and based on an external torque vector, wherein the external torque vector is based on the torques determined by the torque sensors in the joints of the robot manipulator and is determined based on expected torques acting on the robot manipulator; ascertaining a respective cost function based on a norm of a difference between the ascertained respective estimate of the external wrench and the respective specified external wrench or based on a difference of a norm of the ascertained respective estimate of the external wrench and a norm of the respective specified external wrench; ascertaining a respective calibration function by minimizing the respective cost function, the respective calibration function being used to adjust an external wrench currently determined during subsequent operation; and storing the respective calibration function in a data set of all calibration functions with assignment of the respective calibration function to a respective pose for which the respective calibration function was ascertained.

    2. 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 a 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.

    3. 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.

    4. The method according to claim 3, 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 calibration function; and storing the calibration function for each of the plurality of poses.

    5. The method according to claim 1, wherein the respective cost function is minimized by a gradient-based method.

    6. The method according to claim 1, wherein the respective cost function is minimized by a genetic method or an evolutionary method.

    7. The method according to claim 1, wherein application of the specified external wrench to 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 the 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 the application of the specified external wrenches 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 calibration functions by selecting a specific calibration function associated with a respective current pose of the robot manipulator or by generating an interpolation from at least two specific ones of all the calibration functions, wherein respective poses of the at least two specific ones of the calibration functions are closest to the respective current pose of the manipulator; and applying the pose-dependent calibration 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; and 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 in joints of the robot manipulator, 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 a respective estimate of the external wrench based on an inverted or pseudo-inverted of the transpose of the Jacobian matrix applicable to a current pose and based on an external torque vector, wherein the external torque vector is based on the torques determined by the torque sensors in the joints of the robot manipulator and is determined based on expected torques acting on the robot manipulator; ascertain a respective cost function based on a norm of a difference between the ascertained respective estimate of the external wrench and the respective specified external wrench or based on a difference of a norm of the ascertained respective estimate of the external wrench and a norm of the respective specified external wrench; ascertain a respective calibration function by minimizing the respective cost function, the respective calibration function being used to adjust an external wrench currently determined during subsequent operation; and store the respective calibration function in a data set of all calibration functions with assignment of the respective calibration function to a respective pose for which the respective calibration function was ascertained.

    12. The system according to claim 11, wherein the control unit is configured to: specify a task for the robot manipulator; analyze the task and identifying working points to be traveled when a 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.

    13. 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.

    14. The system according to claim 13, 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 calibration function; and store the calibration function for each of the plurality of poses.

    15. The system according to claim 11, wherein the respective cost function is minimized by a gradient-based method.

    16. The system according to claim 11, wherein the respective cost function is minimized by a genetic method or an evolutionary method.

    17. The system according to claim 1, wherein the application of the specified external wrench to the robot manipulator takes place by suspending a load having a specified mass to the robot manipulator.

    18. The system according to claim 11, wherein the 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 11, wherein the application of the specified external wrenches 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 calibration functions by selecting a specific calibration function associated with a respective current pose of the robot manipulator or by generating an interpolation from at least two specific ones of all the calibration functions, wherein respective poses of the at least two specific ones of the calibration functions are closest to the respective current pose of the robot manipulator; and apply the pose-dependent calibration on a currently determined external wrench acting on the robot manipulator.

    Description

    BRIEF DESCRIPTION OF THE DRAWINGS

    [0039] In the drawings:

    [0040] FIG. 1 shows a method for calibrating a virtual force sensor of a robot manipulator according to an example embodiment of the invention;

    [0041] FIG. 2 shows a robot manipulator on which the method according to FIG. 1 is carried out; and

    [0042] FIG. 3 shows a robot system for using the result of the calibration according to FIG. 1 according to a further example embodiment of the invention.

    [0043] The illustrations in the figures are schematic and not to scale.

    DETAILED DESCRIPTION

    [0044] FIG. 1 shows a method for calibrating a virtual force sensor of a robot manipulator 1. The robot manipulator 1 is moved into a large number of poses by appropriately controlling its drives. This is a redundant robot manipulator 1. Therefore, for a common position of the distal end 5 of the robot manipulator 1, a large number of poses are assumed by the redundant robot manipulator 1, in that the robot manipulator 1 is moved in its null space over a large number of poses. In each of the poses, the robot manipulator 1 is kept motionless for a certain period of time to repeat the following steps, that is, at each of the poses: initially, at operation S1 a specified external wrench with specified forces and torques is applied to the distal end 5 of the robot manipulator 1. This is done by an external test unit (not shown in FIG. 1). This is followed at operation S2 by ascertaining an estimate of the external wrench F.sub.ext,est based on an inverted or pseudo-inverted of the transpose of the Jacobian matrix applicable to the current pose, namely (J.sup.T).sup.# and based on an external torque vector τ.sub.ext, wherein the external torque vector τ.sub.ext is based on the torques determined by the torque sensors 3 in the joints of the robot manipulator 1 and is determined based on expected torques acting on the robot manipulator 1:


    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.# instead of (J.sup.T).sup.−1, is used because a redundant robot manipulator 1 is involved. At operation S3, a respective cost function is then determined based on a norm of a difference between the determined estimate of the external wrench and the specified external wrench. The cost function is determined for each of the poses of the robot manipulator 1 as:


    K=∥F.sub.ext,est−F.sub.ext,real∥.sub.2.sup.2.

    [0046] That is, the two-norm of the difference between the estimate of the external wrench F.sub.ext,est and the a priori known specification of the external wrench F.sub.ext,real is squared. The scalar result of this rule corresponds to the cost function. Furthermore, at operation S4 the determination of a respective calibration function follows by minimizing the respective cost function using a gradient-based method. The task minK(x) is carried out, in particular, with a search step s=−α∇K, wherein α is the length of the current search step, s is the search direction, and ∇ is the gradient of the cost function K(x), depending on variables and/or parameters x of the calibration function L(x). The parameter a is preferably determined using a line search method, the so-called “line search”, so that the local minimum is searched for in the possibly higher-dimensional parameter space of x, after the search direction has been determined, along this search direction and, when this local minimum is reached, its new search direction is determined by determining gradients of the cost function (∇K). As a result, a set of variables and/or a set of parameters x.sub.0 is available which, when used to adjust the estimate of the external wrench F.sub.ext,est with the calibration function L(x.sub.0), leads to a minimal cost function K(x.sub.0). Finally, at operation S5 the respective calibration function valid for the respective pose of the robot manipulator 1 is stored in a data set of all calibration functions, with assignment of the respective calibration function to the respective pose for which the respective second calibration function was determined. Such a robot manipulator 1, on which this method is carried out, is shown in FIG. 2. The reference symbols of FIG. 2 also apply to the above explanation of FIG. 1.

    [0047] FIG. 2 shows such a robot manipulator 1 with its components, the torque sensors 3 and its distal end 5 of the robot manipulator 1. The redundant degrees of freedom of the robot manipulator 1 are symbolized by a large number of joints with mutually parallel joint axes. The method as described under FIG. 1 is carried out on this robot manipulator 1. Reference is made to the explanations for FIG. 1.

    [0048] FIG. 3 shows a robot system 10 with a robot arm 12 and with a control unit 14. The robot system 10 is shown symbolically with a different robot arm 12 in FIG. 3 than the robot manipulator 1 from FIG. 1. This shows that the calibration according to the explanations for FIG. 1 and FIG. 2 can be transferred to a further robot system 10 without the calibration having taken place on the latter. The control unit 14 of the robot system 10 is arranged on a base of the robot arm 12 and executes a virtual force sensor on the robot arm 12, the virtual force sensor being used to determine an external wrench currently acting on the robot arm 12, and the external wrench is determined based on torques determined by torque sensors 13 in joints of the robot arm 12 torques and based on expected torques acting on the robot arm 12 and based on the inverse or pseudo-inverse of the transpose of the respective pose-dependent current Jacobian matrix. The control unit 14 also applies a pose-dependent calibration function to the currently determined external wrench, wherein the calibration function is determined from the data set of all second calibration matrices generated according to the explanations relating to FIG. 1, by selecting a specific calibration function, which is associated to the respective current pose of the robot arm 12, namely which is closest to the same.

    [0049] 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 a plurality of possible variations exists. It is also clear that embodiments mentioned by way of example 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 implement 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

    [0050] 1 robot manipulator

    [0051] 3 torque sensors

    [0052] 5 distal end of the robot manipulator

    [0053] 10 robot system

    [0054] 12 robot arm

    [0055] 13 torque sensors

    [0056] 15 control unit

    [0057] S1 applying

    [0058] S2 ascertaining

    [0059] S3 ascertaining

    [0060] S4 ascertaining

    [0061] S5 storing