Ascertaining an input command for a robot, said input command being entered by manually exerting a force onto the robot

10828769 · 2020-11-10

Assignee

Inventors

Cpc classification

International classification

Abstract

A method for automatically ascertaining an input command for a robot, wherein the input command is entered by manually exerting an external force onto the robot. The input command is ascertained on the basis of the joint force component attempting to cause a movement of the robot in only one robot joint coordinate sub-space which is specific to the input command. The joint forces are imprinted with the external force.

Claims

1. A method for automatically determining an input command for a robot, the method comprising: detecting with a robot controller an external force that is manually exerted on the robot; determining with the robot controller the input command on the basis of a component of the joint forces impressed by the external force which seeks to effect a movement of the robot only in a subspace of the joint coordinate space of the robot which is specific to the input command.

2. The method of claim 1, wherein the input command comprises a movement command for moving the robot in the input command-specific subspace.

3. The method of claim 1, wherein the input command is determined as an input command to be implemented only when the component of the joint forces impressed by the external force exceeds a predetermined threshold value.

4. The method of claim 1, wherein: the input command is determined from at least two possible input commands having different subspaces of the joint coordinate space that are specific to the respective possible input commands; and wherein determining the input command comprises determining the possible input command having the larger component of the joint forces impressed by the external force in the input command-specific subspace.

5. The method of claim 1, wherein an input command specific-subspace of the joint coordinate space of the robot is a kinematic null space of the robot in which the robot can be moved without changing its end-link position.

6. The method of claim 1, wherein at least one input command-specific subspace of the joint coordinate space of the robot is predetermined by a user-defined restricted movement capacity of the robot in a working space of possible poses of the robot.

7. The method of claim 6, wherein at least one of: the at least one input command-specific subspace is predetermined by a user-defined restricted movement capacity of a robot-fixed reference; or the working space of possible poses comprises at least one of possible locations or possible orientations of a robot-fixed reference.

8. The method of claim 6, wherein the user-defined restricted movement capacity of at least one input command-specific subspace of the robot includes at least one of: a translation along a path; a translation on a surface; or a rotation about one, two or three axes.

9. The method of claim 8, wherein the user-defined restricted movement capacity includes at least one of: translation along a straight path; translation along a coordinate axis of a robot-fixed reference; translation on a flat surface; translation on a coordinate plane of the robot-fixed reference; or rotation about coordinate axes of the robot-fixed reference.

10. The method of claim 1, wherein the joint forces impressed by the external force are determined on the basis of at least one of a model or forces recorded in joints of the robot.

11. The method of claim 1, wherein the component of the joint forces impressed by the external force which seeks to effect a movement of the robot only in a predetermined subspace of the joint coordinate space of the robot is determined on the basis of a mathematical projection of the joint forces in the subspace.

12. The method of claim 11, wherein the component of the joint forces is determined on the basis of a pseudoinverse.

13. The method of claim 1, wherein the robot comprises at least seven joints.

14. A method for manually guided movement of a robot, the method comprising: automatically determining a movement command input to the robot by manual application of an external force according to claim 1; and executing the determined movement command.

15. Robot controller comprising a non-transitory storage medium including program code that, when executed by the robot controller, causes the computer to: detect an external force that is manually exerted on a robot; determine an input command on the basis of a component of joint forces impressed by the external force which seeks to effect a movement of the robot only in a subspace of a joint coordinate space of the robot which is specific to the input command.

16. A robot assembly, comprising a robot having a plurality of joints; and a robot controller according to claim 15.

17. A computer program product including a program code stored in a non-transitory computer-readable medium, the program code, when executed by a robot controller, causing the robot controller to: detect an external force that is manually exerted on a robot; determine an input command on the basis of a component of joint forces impressed by the external force which seeks to effect a movement of the robot only in a subspace of a joint coordinate space of the robot which is specific to the input command.

Description

BRIEF DESCRIPTION OF THE DRAWINGS

(1) The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate exemplary embodiments of the invention and, together with a general description of the invention given above, and the detailed description given below, serve to explain the principles of the present invention.

(2) FIG. 1 depicts a robot assembly with a robot controller according to an exemplary embodiment of the present invention; and

(3) FIG. 2 depicts a method for the manually guided movement of the robot according to an exemplary embodiment of the present invention.

DETAILED DESCRIPTION

(4) FIG. 1 shows a robot assembly 1 with a robot 2 and a robot controller 3 according to an exemplary embodiment of the present invention.

(5) The robot comprises links 5-12, in particular a base 5 and an end-link in the form of a tool flange 12, which are connected to one another in pairs by means of seven actuated pivot joints 4; the robot is thus kinematically redundant.

(6) In the design example, by way of example, the robot guides a tool 13 and comprises a robot-fixed reference in the form of its TCP with the reference coordinate axes x (in the direction of the tool axis or in the longitudinal or the impact direction of the tool) y, z (perpendicular to one another and to the x axis).

(7) The robot 2 is controlled by the controller 3 in a yieldable, for example impedance-controlled manner.

(8) In doing so, the controller 3 executes a method for the manually guided movement of the robot according to an exemplary embodiment of the present invention explained in the following with reference to FIG. 2, and/or is programmed to execute this method by means of an appropriate computer program product.

(9) In a first step S10, on the basis of forces in the form of torques in the joints 4 of the robot 2, which are recorded by means of torque sensors, for example, or on the basis of motor currents, and a model of the robot, which models the torques occurring in the joints 4 as a result of the mass, inertia and friction of the robot, the controller 3 determines the joint forces T.sub.e, which are impressed by a user 15 manually exerting an external force F on the robot: T.sub.e=T.sub.e(F). To do this, the controller subtracts the joint forces determined on the basis of the model from the recorded joint forces, for example. The force F could also be measured by means of a six-axis force (torque) sensor, for example, and projected into the joint coordinate space via the Jacobian matrix J on the basis of the joint angles q.sub.1 . . . q.sub.7.

(10) In a second step S20, the controller determines the component T.sub.N of the joint forces T.sub.e impressed by the external force, which seeks to effect or effects a movement of the robot 2 only in its kinematic null space, i.e. without changing the location and orientation of its end-link 12.

(11) To do this, the controller 3 determines the transposed Jacobian matrix

(12) J T = [ X q 1 .Math. X q 7 Y q 1 .Math. Y q 7 Z q 1 .Math. Z q 7 q 1 .Math. q 7 q 1 .Math. q 7 q 1 .Math. q 7 ] T

(13) with the location (X, Y, Z) and orientation (, , ) of the TCP and the joint angle q.sub.1, . . . , q.sub.7 of the seven joints 4, the transposed Moore-Penrose pseudoinverse J.sup.+t, from this the projection N.sub.N=1J.sup.T.Math.J.sup.+t into this subspace of the joint coordinate space with the unit matrix 1, and hence the component T.sub.N=N.sub.NT.sub.e.

(14) In addition, in the second step S20, the controller determines the component T.sub.z, 1 of the joint forces T.sub.e, which seeks to effect or effects a movement of the robot 2 only in a first further subspace of the joint coordinate space of the robot that is predetermined by a restricted movement capacity of the TCP along the x-coordinate axis of the TCP.

(15) To do this, the controller 3 determines the correspondingly reduced transposed Jacobian matrix

(16) J Z , 1 T = [ Y q 1 .Math. Y q 7 Z q 1 .Math. Z q 7 q 1 .Math. q 7 q 1 .Math. q 7 q 1 .Math. q 7 ] T ,

(17) from this, with the corresponding transposed Moore-Penrose pseudoinverse J.sub.Z, 1.sup.+T, the projection N.sub.Z, 1=[1J.sub.Z, 1.sup.T.Math.J.sub.Z, 1.sup.+T].Math.J.sup.T.Math.J.sup.+T into this first further subspace of the joint coordinate space, and hence the component T.sub.Z, 1=N.sub.Z, 1 T.sub.e.

(18) In addition, in the second step S20, the controller also determines the component T.sub.z, 2 of the joint forces T.sub.e, which seeks to effect or effects a movement of the robot 2 only in a second further subspace of the joint coordinate space of the robot that is predetermined by a restricted movement capacity of the TCP in or on the y-z-coordinate plane of the TCP.

(19) To do this, the controller 3 determines the correspondingly reduced transposed Jacobian matrix

(20) J Z , 2 T = [ X q 1 .Math. X q 7 q 1 .Math. q 7 q 1 .Math. q 7 q 1 .Math. q 7 ] T ,

(21) from this, with the corresponding transposed Moore-Penrose pseudoinverse J.sub.Z, 2.sup.+T, the projection N.sub.Z, 2=[1J.sub.Z, 2.sup.T.Math.J.sub.Z, 2.sup.+T].Math.J.sup.T.Math.J.sup.+T into this second further subspace of the joint coordinate space, and hence the component T.sub.Z, 2=N.sub.Z, 2 T.sub.e.

(22) In a step S30, the controller 3 now determines the largest component T of these components T.sub.N, T.sub.Z, 1 and T.sub.Z, 2: T=max{T.sub.N, T.sub.Z, 1 and T.sub.Z, 2}, wherein the amount standard T.sub.N.sup.2, for example, can be used as the value of a component T.sub.u.

(23) If the first further component T.sub.Z, 1 is the largest, for example, it means that the user 15 is, so to speak, pushing the hardest in the direction of the x-axis of the TCP. From this, the controller 3 can recognize that a hand-guided movement is desired only in this subspace of the joint angle space.

(24) If, on the other hand, the second further component T.sub.Z, 2 is the largest, it means that the user 15 is, so to speak, pushing the hardest in the direction of the y-z plane of the TCP. From this, the controller 3 can recognize that a hand-guided movement is desired only in this subspace of the joint angle space.

(25) If, commensurately, the component T.sub.N is the largest, it means that the force F applied by the user 15, so to speak, acts most strongly in the kinematic null space of the robot 2; the elbow is repositioned when the TCP is fixed, for example. From this, the controller 3 can recognize that a hand-guided movement is desired only in the kinematic null space of the robot 2.

(26) Additional subspaces can be tested in an analogous manner.

(27) Additionally or alternatively, it is also possible to compare the component T.sub.N in the kinematic null space of the robot 2 with the joint forces themselves, for example, and to decide, based on this, whether a hand-guided movement in the kinematic null space or a hand-guided movement of the TCP is being input.

(28) A hand-guided movement in the kinematic null space can thus be detected, for example, if an evaluation variable H=T.sub.N/T.sub.e exceeds a predetermined limit value.

(29) It can be seen that the reduced Jacobian matrices advantageously respectively result from the elimination of the corresponding restricted movement capacity (capacities) of the TCP. In a modification, the reduced Jacobian matrix can alternatively also describe only the corresponding restricted movement capacity of the TCP, i.e.

(30) J Z , 1 T = [ X q 1 .Math. X q 7 ] T

(31) with a correspondingly adapted projection.

(32) In a step S40 then, the controller compares the component T found in this manner with a predeterminable threshold value T.sub.min. If the component T is larger than said value (S40: Y), the input command is implemented in a step S50 by determining target torque T.sub.d of the drives of the joints 4 of the robot 2 on the basis of the component T; for example in proportion to this component T. The method subsequently returns to step S10.

(33) If the largest component T remains below the threshold value T.sub.min as well (S40: N), a command input by means of the manually exerted external force F is rejected, and the method returns directly to step S10.

(34) While the present invention has been illustrated by a description of various embodiments, and while these embodiments have been described in considerable detail, it is not intended to restrict or in any way limit the scope of the appended claims to such detail. The various features shown and described herein may be used alone or in any combination. Additional advantages and modifications will readily appear to those skilled in the art. The invention in its broader aspects is therefore not limited to the specific details, representative apparatus and method, and illustrative example shown and described. Accordingly, departures may be made from such details without departing from the spirit and scope of the general inventive concept.

LIST OF REFERENCE SIGNS

(35) 1 robot assembly 2 robot 3 robot controller 4 (pivot) joint 5 base 6-11 robot link 12 tool flange (end-link) 13 tool 15 user F external force T.sub.d target torque (input command) T.sub.e joint forces impressed by the external force T.sub.min threshold value T.sub.N; T.sub.Z, 1; T.sub.Z, 2; components in a subspace TCP tool center point