The invention relates to a method for calibrating a virtual force sensor of a robot manipulator and a robot system with a robot arm and with a control unit for applying this calibration.
The object of the invention is to improve the implementation of a virtual force sensor on a robot manipulator or robot arm.
The invention results from the features of the independent claims. Advantageous developments and configurations are the subject matter of the dependent claims.
A first aspect of the invention relates to a method for calibrating a virtual force sensor of a robot manipulator, the virtual force sensor being 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 large number of poses, and in each of the poses the following steps are performed:
A pose of the robot manipulator indicates, in particular, the entirety of the positions and the orientations of all members including an end effector, if present, of the robot manipulator. If the complete information about a pose is known, the robot manipulator can be moved into a unique “attitude” by all drives, especially on its joints.
An external wrench indicates forces and/or torques acting on the robot manipulator from the environment and vice versa, the external wrench generally having three components for forces and three components for torques. The specified external wrench is preferably the same across all poses of the robot manipulator, it is namely constant. Alternatively, a different wrench is preferably provided for at least two of the poses, which advantageously also takes into account those poses that would behave at least partially singularly with a constant wrench, namely in at least some of the joints of the robot manipulator connecting the members an external force of the wrench is transmitted linearly through the joint toward the nearest proximal member without creating a torque in the joint. An example of such a singular pose is when all members of the robot manipulator are aligned on a common straight line and the external wrench has only one force vector precisely in the direction of that same common straight line to the base of the robot manipulator.
As this external wrench is applied to the robot manipulator, an estimate of this external wrench is ascertained by the virtual force sensor. This is done with the help of torque sensors arranged, in particular, but not necessarily exclusively, on the joints. The torque sensors on the joints can be selected from the variety of torque sensors known in the prior art. In particular, the torque sensors are mechanical torque sensors, in which a stretching of a flexible, elastic material, for example, in spokes of the respective torque sensor, is detected, it being possible to infer an applied torque from knowledge of the material constants. Furthermore, it is possible, in particular, to measure a current strength present in an electric motor and, from this, to deduce a torque present in the joint. The respective torque in a joint thus detected is typically based on a large number of causes. In the case of a movement of the robot manipulator, a first part of the torque results from the kinematic forces and torques, in particular, the Coriolis acceleration and the centrifugal acceleration. Another part of the measured torque is due to the influence of gravity, independent of the movement of the robot manipulator.
While the torques at the joints are detected directly or indirectly by a measurement by the torque sensors, these lead to the expected torques due to the influence of gravity and kinematically caused forces and torques. That is, depending on the current speed of movement, on the current acceleration of the robot manipulator, and on the mass distribution and the current pose of the robot manipulator (gravity influence), these torques can theoretically be determined at the torque sensors of the robot manipulator as expected torques and be deducted from the measured torques at the respective torque sensors. This is preferably done in a momentum observer, which provides the external torques.
The (pseudo) inverse of the transpose of the Jacobian matrix is required in order to derive an estimate of the specified external wrench with its current reference point based on the external torques determined in this way. The pseudo-inverse (instead of the inverse itself) is necessary, in particular, when the robot manipulator is a redundant manipulator, namely at least two of the joints connecting the members have mutually redundant degrees of freedom. In a redundant robot manipulator, in particular, members of the robot manipulator can be moved without an orientation and/or a position of the end effector of the robot manipulator changing.
The Jacobian matrix basically links the angular velocities at the joints to the translational and rotational velocities at any point, in particular, at a distal end of the robot manipulator. In principle, however, it is irrelevant whether speeds are actually considered; the Jacobian matrix can also be used for the relationship between the torques at the joints and the forces and torques at any given point. The transpose of the Jacobian matrix J, namely JT, correlates the external wrench Fext to the vector of the determined external torques τext as follows:
τext=JTFext
After rearranging this equation using the (pseudo) inverse of the transpose of J, denoted as (JT)#, the following applies to the estimation of the external wrench Fext,est based on the vector of the determined external torques τext:
F
ext,est=(JT)#τext
The direction and magnitude of the specified external wrenches are known by definition since the known magnitude of the specified external wrenches is also applied. With the above calculation, the estimate of the external wrench in each individual pose of the robot manipulator in which an external wrench is applied is also known. A respective first calibration matrix K1 is then ascertained based on the determined estimate of the external wrench Fext,est and based on the specified external wrench Fext,real, in particular, by an element-wise inversion of Fext,real by means of the inversion of a diagonal matrix formed with the components of Fext,real, if no couplings between the components of Fext,real and Fext,est are considered:
K
1
=F
ext,est·(diag(Fext,real))−1
If such couplings are considered or if this equation is over determined by the number of degrees of freedom of the joints, the pseudo inverse of the matrix of the determined estimate of the external wrench can be used in particular, so that Fext,real#=(Fext,realTFext,real)−1Fext,realT applies, and for the first calibration matrix it follows in particular:
K
1
=F
ext,est(Fext,realTFext,real)−1Fext,realT
The respective second calibration matrix is determined, in particular, by inverting the first calibration matrix analogously to the above inversion, preferably directly by:
K
2
=K
1
−1
Alternatively preferred, when the inverse of K1 cannot be uniquely determined, preferably by its pseudo-inverse as:
K
2=(K1TK1)−1K1T
In the extreme case, the first calibration matrix and the second calibration matrix are each scalars. This is particularly the case when only one component of the external wrench is considered, so that the first calibration matrix is determined based on a scalar estimate of the external wrench and based on a specified scalar external wrench. Accordingly, the second calibration matrix is also a scalar single value.
Thereafter, storing of the respective second calibration matrix 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 takes place.
Preferably, the steps of ascertaining an estimate of the external wrench, of ascertaining a respective first calibration matrix, of ascertaining a respective second calibration matrix, and storing the respective second calibration matrix are each carried out by a computing unit. The computing unit is connected, in particular, to the robot manipulator. The computing unit is particularly preferably arranged on the robot manipulator itself, in particular, on a pedestal or a base of the robot manipulator.
It is an advantageous effect of the invention that instead of calibrating each of the torque sensors of the robot manipulator, all of the torque sensors are pose-dependently calibrated in their function as virtual force sensors, taking into account the expected torques on the robot manipulator, and thus all uncertainties in the mass distribution of the robot manipulator, peculiarities of the torque sensors and other effects are all taken into account. The data set of all second calibration matrices thus makes it possible to apply an individual calibration to the virtual force sensor of the robot manipulator for a specific pose of the robot manipulator.
According to an advantageous embodiment, the specified external wrench is applied to the robot manipulator at a distal end of the robot manipulator. An end effector is preferably arranged at the distal end of the robot manipulator. Since contact forces of the robot manipulator, apart from unexpected collisions, typically take place between the end effector and an object from the environment of the robot manipulator, this embodiment advantageously takes this fact into account, so that the calibration takes place, in particular, with regard to a wrench between the end effector at the distal end of the robot manipulator and the environment of the robot manipulator.
According to a further advantageous embodiment, the ascertaining of the first calibration matrix takes place based on the ascertained estimate of the external wrench and based on the specified inverted or pseudo-inverted external wrench. This corresponds to the preferred embodiment explained above using the inverse Fext,real−1 or the pseudo-inverse Fext,real# of the matrix Fext,real of the ascertained estimate of the external wrench. This results in:
K
1
=F
ext,est
−1
F
ext,real
−1 respectively K1=Fext,est(Fext,realTFext,real)−1Fext,realT
The plurality of poses of the robot manipulator is preferably defined by an equidistant grid of positions for a reference point of the robot manipulator in relation to a ground-fixed coordinate system, whereby, advantageously, all possible positions of the reference point of the robot manipulator (possibly with several poses per grid point for a redundant robot manipulator) are taken into account, wherein, however, also a very high number of grid points must be considered.
According to a further advantageous embodiment, a task is therefore specified for the robot manipulator, the task is analyzed and working points to be traveled through are identified when the task is carried out, wherein the respective poses of the robot manipulator are selected in such a way that one of the working points and a reference point of the robot manipulator match each other in a respective pose. The reference point of the robot manipulator is, in particular, a reference point at the distal end of the robot manipulator, and is, in particular, willfully arranged at the end effector. The reference point is, in particular, connected to the robot manipulator in a body-fixed manner, in particular, to a location on the surface of the robot manipulator, i.e., it does not move relative to this selected location, even when the robot manipulator moves. With this embodiment, the calibration is advantageously specifically tailored to a task to be performed by the robot manipulator and the number of grid points is significantly reduced.
According to a further advantageous embodiment, the robot manipulator is a redundant robot manipulator and the estimate of the external wrench is determined using the pseudo inverse of the transpose of the current Jacobian matrix for the respective pose of the robot manipulator. A redundant robot manipulator has mutually redundant degrees of freedom. This means, in particular, that members of the robot manipulator can move without changing the orientation of a specific member, in particular, of an end effector of the robot manipulator, and/or a position of a specified reference point, in particular, at the distal end of the robot manipulator.
According to a further advantageous embodiment, at least for a subset of the plurality of poses of the robot manipulator, the redundant robot manipulator is moved in its null space over a plurality of poses and a separate first and second calibration matrix is determined and stored for each of the plurality of poses. Changing inaccuracies in the estimation of an external wrench due to a pose change of the robot manipulator in its null space are also advantageously taken into account by this embodiment.
According to an advantageous embodiment, the application of the specified external wrench on the robot manipulator takes place by suspending a load having a specified mass to the robot manipulator. With constant and known gravity, it is very reliably ensured by suspending a load with a specified mass that the external wrench always acts in the same direction with respect to a ground-fixed coordinate system and always with the same strength.
According to a further advantageous embodiment, the specified external wrench is applied to the robot manipulator 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. The mechanical support is preferably arranged on a second manipulator, preferably on an end effector of the second manipulator. By using a spring, any values of a force component of the external wrench can advantageously be specified continuously by stretching the spring over a specific linear range of the spring.
According to an advantageous embodiment, the application of the specified external wrench on the robot manipulator takes place by suspending a load having a specified mass to the robot manipulator. According to this specific embodiment, the torques from the movement of the robot manipulator are accordingly not taken into account in the expected torques, since precisely these torques are to be detected and an estimate of the external wrench is determined from them. Advantageously, according to this embodiment, neither a load with additional mass on the robot manipulator nor the connection to a spring nor the application of other external forces and/or torques is necessary, since only the movement that can be carried out by the robot manipulator itself is used to calibrate the virtual force sensor.
A further aspect of the invention relates to a robot system with a robot arm and with a control unit, the control unit being designed to implement a virtual force sensor on the robot arm, the virtual force sensor being used to determine an external wrench acting on the robot arm and the external wrench being ascertained based on torques determined by torque sensors in joints of the robot arm and based on expected torques acting on the robot arm and based on the inverse or pseudo-inverse of the transpose of the respective pose-dependent current Jacobian matrix, the control unit being designed to apply a pose-dependent calibration function on the currently determined external wrench and to generate the calibration function from the data set generated according to a method of all second calibration matrices by selecting a specific second calibration matrix associated with the respective current pose of the robot arm or by generating an interpolation from at least two specific ones of the second calibration matrices, wherein the respective poses of the at least two specific ones of the second calibration matrices are closest to the respective current pose of the robot arm.
Such a robot system can match the robot manipulator on which the calibration is performed. The calibration, as explained above, can be used again for application on one's own robot manipulator, or can be used on another robot manipulator, for clarification here referred to as “robot system” with “robot arm”.
Advantages and preferred developments of the proposed system result from an analogous and corresponding transfer of the statements made above in conjunction with the proposed method.
Further advantages, features, and details will be apparent from the following description, in which at least one example embodiment is described in detail—with reference to the drawings, if required. Identical, similar, and/or functionally identical parts are provided with identical reference numerals.
In the drawings:
The illustrations in the figures are schematic and not to scale.
F
ext,est=(JT)#τext
The pseudo-inverse of the transpose of the Jacobian matrix applicable to the current pose, namely (JT)#, is used because a redundant robot manipulator 1 is involved.
This is followed at operation S3 by ascertaining a respective first calibration matrix K1 based on the determined estimate of the external wrench Fext,est and based on the specified pseudo-inverted external wrench Fext,real, namely:
K
1
=F
ext,est(Fext,realTFext,real)−1Fext,realT
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
2=(K1TK1)−1K1T
Finally, at operation S5, there takes place storing of the respective second calibration matrix K2 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
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.
Number | Date | Country | Kind |
---|---|---|---|
10 2019 134 666.5 | Dec 2019 | DE | national |
The present application is the U.S. National Phase of PCT/EP2020/086422, filed on 16 Dec. 2020, which claims priority to German Patent Application No. 10 2019 134 666.5, filed on 17 Dec. 2019, the entire contents of which are incorporated herein by reference.
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/EP2020/086422 | 12/16/2020 | WO |