The invention relates to a robot system including a robot manipulator having a plurality of links interconnected by joints with at least partially redundant degrees of freedom with respect to each other, and a method of operating such a robot manipulator.
It is an object of the invention to improve an application and measurement of a force and/or torque acting in a selected direction at a distal end of the robot manipulator.
The invention results from the features of the independent claims. Advantageous further developments and embodiments are the subject of the dependent claims.
A first aspect of the invention relates to a robot system including a robot manipulator and including a control unit for the robot manipulator and including an operating unit, wherein the robot manipulator has a plurality of links connected to one another by joints with degrees of freedom which are at least partially redundant with respect to one another, so that at least a subset of the links of the robot manipulator can be moved in a null space without changing a position and/or orientation of a distal end of the robot manipulator, wherein the operating unit is designed to detect an input from a user with respect to at least one selected direction of a force and/or a torque at the distal end of the robot manipulator and to transmit the detected input to the control unit, wherein the control unit is adapted to determine components of a transpose of a Jacobian matrix associated with the respective selected direction for a predetermined position and/or orientation of the distal end of the robot manipulator in the null space such that a first metric based on the components satisfies one of the following criteria: unequal to zero, greater than a specified limit, maximum; and wherein the control unit is adapted to control the robot manipulator to move the subset of links in the null space to assume a pose according to the determined components of the transpose of the Jacobian matrix.
Preferably, the control unit is configured to determine an external force and/or torque acting on the environment at the distal end of the robot manipulator and/or to control actuators of the robot manipulator to apply an external force and/or torque from the distal end of the robot manipulator to the environment after reaching the pose according to the determined components of the transpose of the Jacobian matrix.
In particular, the control unit is connected to the robot manipulator and is preferably a control unit of the robot manipulator itself, that is, preferably the control unit is arranged on the robot manipulator. The operating unit is also connected to the control unit so that data can be transmitted from the operating unit to the control unit for the robot manipulator. The control unit is used, in particular, to control actuators of the robot manipulator in order to enable appropriate movement of the robot manipulator.
The subset of links of the robot manipulator is movable in a null space without changing a position and/or orientation of a distal end of the robot manipulator. That is, a correspondingly high number of joints with mutually redundant degrees of freedom are provided on the robot manipulator so that, while maintaining the position and/or an orientation of a distal end of the robot manipulator, at least two of the links are movable with respect to an earth-fixed coordinate system. Typically, such redundancy is implemented via an appropriately movable elbow joint of the robot manipulator. Preferably, the robot manipulator has torque sensors at its joints, wherein these torque sensors are designed, in particular, to detect a respective torque at a respective joint. From the totality of the detected torques at the joints of the robot manipulator and with the knowledge of the current pose of the robot manipulator, an external force winder can be determined. The term pose refers to the position of the links in relation to each other, i.e., the relative position and especially the relative orientation of the links in relation to each other.
Depending on the pose of the subset of links in this null space, this is possible in a better or worse way. In a so-called singular pose, none of the torque sensors at the joints of the robot manipulator can detect a corresponding torque because an external force acting on the distal end of the robot manipulator is dissipated into the base or pedestal of the robot manipulator in a straight line through the links without creating a lever arm around the joints. The opposite case would be that a force acts at the distal end of the robot manipulator perpendicular to a common longitudinal axis of the links, so that this force generates a torque at a respective joint of the robot manipulator with a maximum lever arm. In particular, the distal end of the robot manipulator is defined by a reference point on the most distal link of the robot manipulator or, alternatively, preferably on an end effector of the robot manipulator.
The torque sensors at the joints can be selected from the multitude of torque sensors known in the prior art. In particular, the torque sensors are mechanical torque sensors in which a strain of a flexible elastic material, for example, in spokes of the respective torque sensor, is detected, wherein an applied torque can be concluded by knowing the material constants. Furthermore, it is particularly possible to measure a current in an electric motor and to infer from this a torque present in the joint. The measured torque is typically composed of a variety of causes. A first part of the torque results from the kinematic forces and torques, especially the Coriolis acceleration, as well as the centrifugal acceleration. Another part of the measured torque can be attributed to a gravity effect. While the torque sensors at the joints measure the detected torques, the forces and torques caused by gravity and kinematics lead to the expected torques. This means that, depending on the current speed of movement and also the current acceleration of the robot manipulator, these torques can be determined according to theory together with a gravitational influence on the robot manipulator and subtracted from the measured torques to the respective torque sensor. This is typically done in an impulse observer whose output is the external torques.
In order to infer from the external torques thus determined an external force winder with any reference, the pseudoinverse of the transformed Jacobian matrix is required. The pseudo inverse (instead of the inverse itself) is particularly necessary if the robot manipulator is a redundant manipulator, meaning that at least two of the joints connecting the links have redundant degrees of freedom with respect to each other. In particular, in a redundant robot manipulator, links of the robot manipulator can be moved without moving an orientation and a position of the end effector of the robot manipulator. The Jacobian matrix basically links the angular velocities at the joints to the translational and rotational velocity at any point, especially at the distal end of the robot manipulator. In principle, however, it is irrelevant whether velocities are actually considered; thus, the Jacobian matrix can also be used for the relationship between the torques at the joints and the forces and torques at the respective arbitrary point.
The transpose of the Jacobian matrix J, namely JT mediates between the external force winder Fext to the determined external torque Text as follows:
τext=JTFext.
In this equation, it can be seen that the external force winder, which typically has three components for an external translational force and three more components for an external torque in Cartesian coordinates with respect to an earth-fixed Cartesian coordinate system, is mapped to the vector of external torques by appropriate matrix multiplication with the transpose of the Jacobian matrix, wherein the vector of external torques is respectively related to torques in the joints of the robot manipulator. Advantageously, in accordance with the first aspect of the invention, selected directions of the external force winders are Fext not mapped to zero in their mapping by the transform of the Jacobian matrix JT to the vector of joint torques, which would be the case in such a singular pose explained above. Then, in particular, the respective column of the transpose of the Jacobian matrix belonging to the corresponding direction would be zero in total or at least a vector norm of this respective column would be zero or close to zero. Thus, the external force winder in this selected direction would map to corresponding zero values in the vector of joint torques according to the above equation. However, by each of the possible conditions for the first metric “unequal to zero, greater than a specified limit, or maximum”, this mapping to zero is prevented, or optimized, depending on the condition for the first metric.
It is therefore an advantageous effect of the invention that directions of forces and torques selected by the user are detected and the pose of the robot manipulator in its null space is aligned in such a way that in exactly these directions a force or torque can be better applied by the robot manipulator at its distal end, and, at the same time, that an external force or torque from the environment on the distal end of the robot manipulator can be better determined in this respective selected direction, in particular, via torque determination at the joints of the robot manipulator.
According to an advantageous embodiment, the components of the transpose of the Jacobian matrix associated with the respective selected direction are listed in a respective column of the transpose of the Jacobian matrix, wherein the first metric is a vector norm of the respective column. The preferred vector norm is the 2-norm. The formation of a vector norm advantageously offers a quick calculation and an intuitively comprehensible key figure for a measure of the components listed in a respective column of the transpose of the Jacobian matrix, which maps exactly one component of the external force winder to the vector of joint torques and thus the vector of external torques with respect to the joints (see above τext).
According to a further advantageous embodiment, the control unit is adapted to determine the respective components of the transpose of the Jacobian matrix based on a gradient-based search using the respective vector norm as an inverse cost function. The inverse cost function may also be called an objective function, since this inverse cost function is intended to be maximized, unlike a true cost function, which is usually intended to be minimized in an optimization. Thus, the purpose of this embodiment is to use a gradient-based search to maximize the respective vector norm associated with the respective selected direction. A gradient-based search iteratively determines a gradient at different search points of the inverse cost function, wherein the next search point in each case is determined by the gradient in terms of the steepest ascent. Such a gradient-based search is a classical method from the field of nonlinear optimization and represents an iterative procedure for optimization problems that are not analytically solvable at first go. Advantageously, the gradient-based search implements a simple algorithm to arrive at an appropriate solution with sufficient convergence.
According to a further advantageous embodiment, the control unit is adapted to determine whether a selection has been made by the user at the operating unit, and in the absence of a selection by the user, to determine all components of the transpose of the Jacobian matrix in the null space such that a second metric based on all components of the transpose of the Jacobian matrix satisfies one of the following criteria: unequal to zero, greater than a specified limit, maximum. According to this embodiment, the first aspect of the invention is extended to check whether a selection has been made at all with respect to such a direction by a user. If such a selection is made by the user, the corresponding components of the respective columns of the transpose of the Jacobian matrix assigned to these directions can be selected at a corresponding distance from zero. However, if no direction is specified, optimization of the transpose of the Jacobian matrix as a whole is desirable, and according to this embodiment is optimized as a whole such that, if possible, a singular pose of the robot manipulator is entirely excluded and an external force or torque is sufficiently mapped onto the vector of joint torques in all directions to reliably detect an external torque or force from an external force winder by torque sensors in the joints of the robot manipulator.
According to a further advantageous embodiment, the control unit is adapted to determine the respective components of the transpose of the Jacobian matrix on the basis of a gradient-based search with the determinants of the matrix product of the Jacobian matrix and the transpose of the Jacobian matrix as an inverse cost function. Preferably, the search direction is determined from the gradient, i.e., the local derivative with respect to the joint angles, of the following term:
Alternatively, preferably, the search direction is determined from the gradient of the term √{square root over (det(JJT))} or further alternatively preferably from the gradient of the term ∥JT∥, i.e., from the norm of the transpose of the Jacobian matrix.
According to a further advantageous embodiment, the control unit is adapted to control the robot manipulator to move the subset of the links in the zero space to assume the pose according to the determined components of the transpose of the Jacobian matrix upon or after reaching the distal end of the robot manipulator of the predetermined position and/or orientation. According to this embodiment, the distal end of the robot manipulator is first moved to the predetermined position and/or orientation, and then the subset of links in its null space is aligned according to the respective determined components of the transpose of the Jacobian matrix.
According to a further advantageous embodiment, the control unit is adapted to control the robot manipulator to move the subset of the links in the null space to assume the pose according to the determined components of the transpose of the Jacobian matrix during the approach of the distal end of the robot manipulator to the predetermined position and/or orientation. While according to the previous embodiment there is a clear separation between the approach of the distal end of the robot manipulator to the predetermined position and/or orientation with the associated path planning and the alignment of the subset of the links in their null space, according to this embodiment the alignment of the links in their null space is included in the path planning so that all links of the robot manipulator, including those that are movable relative to each other in redundant degrees of freedom, are controlled accordingly. Advantageously, the robot manipulator and, in particular, the subset of links in its null space is in such a pose that external forces or torques can already be detected or applied when the distal end of the robot manipulator is reached at the predetermined position and/or orientation in an optimized manner.
According to a further advantageous embodiment, the control unit is adapted to determine the components of the transpose of the Jacobian matrix associated with the respective selected direction by traversing a plurality of poses through the subset of the links in the null space and by determining a respective transpose of the Jacobian matrix current for a respective pose and by comparing the transposes of the Jacobian matrices for the plurality of poses with each other and by selecting one of the transposes of the Jacobian matrices according to the first or second metric. This embodiment corresponds to an empirical approach in which a corresponding pose is actively searched for by a physical search procedure, for each of these poses a transpose of the Jacobian matrices is calculated, a respective transpose of the Jacobian matrices with respect to their corresponding columns (associated with the selected directions) is examined for the first metric and second metric, respectively, and a pose with a favorable first metric and favorable second metric, respectively, is selected.
According to a further advantageous embodiment, the control unit is adapted to determine the components of the transpose of the Jacobian matrix associated with the respective selected direction by traversing a plurality of poses through the subset of the links in the null space and by determining a respective transpose of the Jacobian matrix current for a respective pose and by comparing the transposes of the Jacobian matrices for the plurality of poses with each other and by selecting one of the transposes of the Jacobian matrices according to the first or second metric. In contrast to the previous embodiment, in which the subset of links is actually moved in its null space, according to this embodiment only a simulation of such an action takes place, so that advantageously the corresponding pose can be found in a shorter time.
Another aspect of the invention relates to a method of operating a robot manipulator having a plurality of links interconnected by joints with at least partially redundant degrees of freedom with respect to each other, such that at least a subset of the links of the robot manipulator is movable in a null space without changing a position and/or orientation of a distal end of the robot manipulator, the method including:
Preferably, the method further includes:
Advantages and preferred developments of the proposed method result from an analogous and sensible transfer of the explanations given above in connection with the proposed method.
Further advantages, features, and details result from the following description, in which—possibly with reference to the drawings—at least one embodiment example is described in detail. Identical, similar, and/or functionally identical parts are provided with the same reference signs.
In the drawings:
The representations in the figures are schematic and not to scale.
τext=JTFext.
If the user now selects the y-direction with respect to a force corresponding to the fifth component of the vector of the external force winder, the fifth column of the transpose of the Jacobian matrix is to be optimized accordingly and a norm of the fifth column as the first metric for this fifth column is to be kept as far as possible from zero, i.e., maximized. Here it is adjustable by the user whether a two-norm or an infinity-norm is used as norm. The above equation thus results in:
Furthermore, if the x-direction and the z-direction are selected by the user as the respective directions of interest for forces, with the x-direction and the z-direction of a force at the distal end of the robot manipulator 3 occupying the fourth and the sixth component vectors of the external force winders, the fourth and the sixth columns of the transpose of the Jacobian matrix are to be maximized accordingly:
The control unit 5 thereby determines the respective components of the transpose of the Jacobian matrix on the basis of a gradient-based search using the respective vector norm as the inverse cost function.
Although the invention has been further illustrated and explained in detail by example embodiments, the invention is not limited by the disclosed examples and other variations may 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 wide range of variations exists. It is also clear that example embodiments are really only examples which are not to be understood in any way as limiting, for example, the scope of protection, the possibilities of use or the configuration of the invention. Rather, the preceding specification and the figure description enable the person skilled in the art to implement the example embodiments in a concrete manner, wherein the person skilled in the art, being aware of the disclosed inventive idea, can make a variety of changes, for example, with respect to the function or the arrangement of individual elements mentioned in an example embodiment, without leaving the scope of protection defined by the claims and their legal equivalents, such as further explanations in the specification.
Number | Date | Country | Kind |
---|---|---|---|
10 2019 131 400.3 | Nov 2019 | DE | national |
The present application is the U.S. National Phase of PCT/EP2020/082662, filed on 19 Nov. 2020, which claims priority to German Patent Application No. 10 2019 131 400.3, filed on 21 Nov. 2019, the entire contents of which are incorporated herein by reference.
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/EP2020/082662 | 11/19/2020 | WO |