Method and apparatus for controlling a robot

10016894 ยท 2018-07-10

Assignee

Inventors

Cpc classification

International classification

Abstract

A method for controlling a robot in at least one pose of the robot wherein the robot can be operated in either a first mode of operation or a second mode of operation. In the second mode of operation the robot can be moved by manually applying a guiding force to the robot. The method includes determining a distance of a state variable of the robot from a first limit and then triggering a safety response when the distance satisfies a first condition and the robot is operating in the first mode of operation. When the robot is operating in the second mode of operation and the distance satisfies the first condition, the method includes not triggering the safety response, and motorically applying a positioning force to the robot in dependence on the determined distance so that the distance can be reduced when the robot is unobstructed.

Claims

1. A method for controlling a robot in at least one pose of the robot and in one of a first mode of operation or a second mode of operation, wherein the robot can be moved by manually applying a guiding force to the robot in the second mode of operation, the method comprising: determining a distance of one of a plurality of state variables of the robot beyond a first limit; when the robot is operating in the first mode of operation, triggering a safety response when the distance satisfies a first condition; and when the robot is operating in the second mode of operation and the distance satisfies the first condition, then: motorically applying a positioning force to the robot in dependence on the determined distance such that the distance is reduced when the robot is unobstructed.

2. The method of claim 1, further comprising: emitting a signal when the robot is operating in the second mode of operation and the distance satisfies the first condition.

3. The method of claim 2, wherein the signal is at least one of: an optic signal; an acoustic signal; or a haptic signal.

4. The method of claim 2, wherein: an output of a distance means for determining the distance is connected with a safety means for triggering the safety response in the first mode of operation; and the output of the distance means is connected with a signal means for emitting the signal in the second mode of operation.

5. The method of claim 1, further comprising: determining a second distance of a state variable of the robot from a second limit that is different from the first limit; and triggering a safety response in the second mode of operation when the second distance satisfies a second condition, or when a third distance of a state variable of the robot from a third limit satisfies a third condition that is different from the first condition.

6. The method of claim 5, wherein the safety response is triggered in the second mode of operation without motorically applying the positioning force on the robot to reduce the distance.

7. The method of claim 1, wherein at least one of the plurality of state variables of the robot includes at least one of: at least one position coordinate and/or orientation coordinate of at least one robot-fixed reference; at least a time derivative of the at least one position coordinate and/or orientation coordinate; at least one joint coordinate of the robot; or at least one time derivative of the at least one joint coordinate.

8. The method of claim 7, wherein the at least one robot fixed reference is a tool center point.

9. The method of claim 1, wherein the safety response of the robot comprises at least one of: shutting down the robot; or separation of at least one drive of the robot from a power supply.

10. The method of claim 9, wherein shutting down the robot comprises shutting down via at least a brake and/or at least a drive of the robot.

11. The method of claim 1, wherein at least one of a plurality of limits is dependent on one of the state variables.

12. The method of claim 1, wherein at least one of the limits is defined by at least two hypersurfaces and/or at least one curved hypersurface in a state space of the robot.

13. The method of claim 12, wherein the at least two hypersurfaces are parallel hypersurfaces.

14. The method of claim 1, further comprising: automatedly moving the robot by program-control in the first mode of operation; or moving the robot by manual application of a guiding force on the robot.

15. The method of claim 1, further comprising: moving the robot in the second mode of operation by manual application of a guiding force on the robot in such a way that the distance of the state variable of the robot from the first limit satisfies the first condition.

16. The method of claim 1, wherein: determining a distance of a state variable of the robot from a first limit comprises: determining distances of the state variable of the robot from at least two different specified references in a state space of the robot, and identifying the smallest of the determined distances; and motorically applying a positioning force to the robot comprises motorically applying the positioning force to the robot so as to reduce the smallest of the distances when the robot is unobstructed.

17. The method of claim 16, wherein the specified references in the state space of the robot include at least one of: positions of a robot-fixed reference; poses of the robot; or structures in the state space of the robot.

18. The method of claim 17, wherein at least one of: the position of a robot-fixed reference is a tool center point; the poses of the robot comprise a specified path of the robot; or the structures in the space state of the robot are at least one of virtual structures, walls, or coordinate systems.

19. The method of claim 16, further comprising displaying the reference in the state space of the robot that exhibits the smallest determined distance.

20. The method of claim 16, further comprising flexibly controlling the robot so as to be movable by manual application of a guiding force to the robot.

21. The method of claim 20, wherein the flexible control is at least one of a force-regulated control or gravity-compensated control.

22. A device for controlling a robot that is operable in a first mode of operation or a second mode of operation, wherein the robot can be moved by manually applying a guiding force to the robot in the second mode of operation, the device including program code stored on a non-transitory machine-readable medium that, when executed by the device, causes the device to: determine a distance of a state variable of the robot beyond a first limit; when the robot is operating in the first mode of operation, trigger a safety response when the distance satisfies a first condition; and when the robot is operating in the second mode of operation and the distance satisfies the first condition, then: not trigger the safety response, and motorically apply a positioning force to the robot in dependence on the determined distance such that the distance is reduced when the robot is unobstructed.

23. A computer program product for controlling a robot that is operable in a first mode of operation or a second mode of operation, wherein the robot can be moved by manually applying a guiding force to the robot in the second mode of operation, the computer program product having programming code stored on a non-transitory machine-readable medium, the programming code configured to, when executed by a computer, cause the computer to: determine a distance of a state variable of the robot beyond a first limit; when the robot is operating in the first mode of operation, trigger a safety response when the distance satisfies a first condition; and when the robot is operating in the second mode of operation and the distance satisfies the first condition, then: not trigger the safety response, and motorically apply a positioning force to the robot in dependence on the determined distance such that the distance is reduced when the robot is unobstructed.

Description

BRIEF DESCRIPTION OF THE FIGURES

(1) Additional advantages and features result from the dependent claims and the design examples. For this purpose, the figures show, in part schematically:

(2) FIG. 1 is a schematic illustration of a section of a state space of a robot to illustrate a method according to one model of the present invention.

(3) FIG. 2 is a schematic illustration of the procedure of a method according to one model of the present invention.

(4) FIG. 3 is a schematic illustration of a section of a control device to implement the method.

DETAILED DESCRIPTION

(5) FIG. 1, 2 show a section of a state space of a robot to illustrate a method according to one model of the present invention, or its procedure, executed by a device partially indicated in FIG. 3. The two previously described aspects are illustrated together by way of an example; they can, however, also be implemented independently.

(6) First, a first mode of operation M1 or a different second mode of operation M2 is selected in a step S10, for example via a user's input. In a subsequent step S20, a device 40, hardware and software technically configured to execute the method described here and partially indicated in FIG. 3, checks if the second mode of operation (S20: Y) is selected; in a subsequent step S30 it checks if the first mode of operation (S30: Y) is selected. If the neither of the two modes of operation is selected (S20: N, S30: N), the process reverts back to step S20.

(7) The robot is movable by manual application of a guiding force on the robot at least in the second mode of operation M2, for example in an impedance-regulated manner as illustrated in the following, or controlled in a gravity-compensated manner. In the first mode of operation, on the other hand, the robot is moved automatedly in a program-controlled manner.

(8) If the first mode of operation M1 is selected (S30: Y), a distance d of a state variable of the robot from a first limit is determined in a subsequent step S40.

(9) In the two-dimensional example, simplified so as to be a better representation, the state variable x consists of two Cartesian position coordinates x.sub.i, x.sub.j of the TCP of a robot (not shown). To illustrate, in FIG. 1, two different values x.sub.1 and x.sub.2 for this state variable, i.e. two different TCP positions x.sub.1, x.sub.2 are marked in the state space {x.sub.i, x.sub.j}.

(10) In order to be a better representation, the first limit G is defined in a simplified manner by G.sub.1: x.sub.i=0 and G.sub.2: x.sub.j=0, and is indicated in FIG. 1 with a dotted line. The limit is oriented in such a way, that TCP positions with positive coordinate values, such as in particular the example position x.sub.1, exhibit a negative distance d<0, while TCP positions with at least one negative coordinate value, such as in particular the example position x.sub.2 exhibit a positive distance d>0.

(11) In the first mode of operation M1, in a subsequent step S50, the device 40 checks if this distance d satisfies a first condition, which is then satisfied in the design example, when the TCP exceeds the limit G, or the signed distance d is greater than zero (d>0).

(12) If the distance d satisfies the first condition (S50: Y), a safety response is triggered, in the design example a STOP 1. Otherwise (S50: N), the process reverts back to step S20. In other words, a STOP 1 is triggered in the first mode of operation M1, as soon as the TCP exceeds the limit G.

(13) If the second mode of operation M2 is selected (S20: Y), the distance d from the first limit G is determined in a subsequent step S70, in the same manner as in the first mode of operation M1. Correspondingly, the steps S40 and S70 can also be replaced with a common step from step S20. In particular, an output of a distance means 10 of the control device 40 of the robot, as indicated in FIG. 3, can be connected in the first mode of operation M1 with a safety means 30 of the control device 40 to trigger the safety response STOP 1, and in the second mode of operation M2 with a signal means 20 of the control device to emit a signal S.

(14) A subsequent step S80 in the second mode of operation M2 checks if the distance d satisfies a second condition d>D, different from the first condition d>0, with a specified constant D>0. In the simplified design example, this corresponds to the test if the distance of the TCP position from a second limit different from the first limit G, indicated in FIG. 1 with a double dot dashed line, satisfies the condition d>0.

(15) If the test in step S80 shows that the TCP exceeds the second limit, or the distance to the first limit G is greater than the specified constant D (S80: Y), a STOP 0 is initiated in a step S90 as a safety response different from the safety response in the first mode of operation. Therefore, safety monitoring can occur in the second mode of operation as well.

(16) If the test in step S80 shows that the TCP does not exceed the second limit, or the distance to the first limit G is not greater than the specified constant D (S80: N), a step S100 checks if the distance d satisfies the first condition, which is also tested in step S50 in the first mode of operation M1 and is satisfied if the TCP exceeds the limit G or the signed distance d is greater than zero (d>0).

(17) If the distance d in the second mode of operation M2 satisfies only the first condition (S100: Y) no safety response is triggered. Thus the safety response STOP 1 in the second mode of operation M2 is triggered not for this reason or if, because or as soon as the distance d satisfies the first condition. Therefore, as previously illustrated, the triggering of a safety response, in the design example a STOP 0, also while the first condition is satisfied, is not ruled out. The decisive factor in this regard is that the fulfillment of the first condition is not enough to trigger the safety response of the first mode of operation; in the design example, however, it is geometrically necessary.

(18) Instead, in a step S110, a positioning force F is motorically applied to the robot in dependence on the distance d, so as to reduce the distance d when the robot is unobstructed, if the distance d satisfies the condition d>0 (S100: Y). For this purpose, as indicated in FIG. 1, the positioning force F is directed to the limit G. It is proportional to the distance (F=k?d) and limited by the maximum value F.sub.max. In one variation it can also additionally or alternatively be proportional to a temporal change ?d/?t.

(19) As a result, when the limit G is exceeded in the second mode of operation M2, the safety response STOP 1 is not triggered as in the first mode of operation M1, but instead the user, who moves the robot by manual application of a positioning force, is haptically given feedback in the form of a restoring force that increases up to the maximum value F.sub.max with increasing advancement through a prohibited range defined by the limit G.

(20) In addition the optic, acoustic and/or haptic signal S, for example a vibration, is emitted in step S110.

(21) To test the safety monitoring of the first mode of operation for exceedance of the first limit G, the user accordingly moves the robot in the second mode of operation M2 by manual application of a guiding force on the robot in such a way, that the distance d of the state variable x of the robot from this limit G satisfies the first condition d>0 and haptically senses the limit through the resulting applied restoring force F. He is also notified of it by the signal S. Since the output of the distance means 10, connected in the first mode of operation M1 with the safety means 30 to initiate the STOP 1, is connected in the second mode of operation M2 with the signal means 20 to emit the signal S (see FIG. 3), the signal S is emitted along with the restoring force F instead of the STOP 1. The user can therefore test the safety monitoring both signal-technically and physically as well.

(22) On the other hand, if the STOP 0 is triggered in step S90 in the second mode of operation, no positioning force is applied. In this respect this safety response, so to speak, overrules the haptic feedback of the exceedance of the limit G.

(23) If the distance d in the second mode of operation M2 does not satisfy the first condition (S100: N) either, no restoring positioning force back to the limit G is applied in a step S120, or this force F is set to zero.

(24) In a subsequent step S200, in the second mode of operation M2, the distances of the state variable x of the robot to, different from one another, specified references in the state space of the robot are determined.

(25) In the design example, simplified so as to be a better representation, a circular track B of the TCP of the robot, defined by two points y.sub.n and y.sub.n+1, is indicated by a dot dashed line to illustrate this. In step S200, the distance d, of the current state variable x.sub.1 to the specified reference y.sub.n, the distance d.sub.n+1 of the current state variable x.sub.1 to the specified reference y.sub.n+1 as well the distance d.sub.(n, n+1) of the current state variable x.sub.1 to the specified reference B, in the design example the distance to point y.sub.(n, n+1) of the circular track B closest to the current TCP position x.sub.1, are then determined.

(26) By processing the steps S210 to S280, to be discussed in the following, the smallest distance d.sub.min of the distances is then determined, and a positioning force f, indicated in FIG. 1, is motorically applied to the robot so as to minimize the smallest distance d.sub.min when the robot is unobstructed.

(27) To begin, in an initializing step S210, a counter n is set to 1, a variable d.sub.min for the to date smallest ascertained distance with the determined distance d.sub.1 to a first of the specified references y.sub.1 is pre-allocated and an, in the simplified design example two-dimensional, vector variable for the positioning force f to be applied is pre-allocated a value that is proportional to the difference vector between the current TCP position x.sub.1 and the first reference y.sub.1.

(28) In a subsequent step S220 the counter n is increased by 1, and in a following step S230 a check to verify that all references have been processed is conducted.

(29) If this is not the case (S230: N), in a step S240, the distance d.sub.n of the reference y.sub.n corresponding to this counter n is checked to see if it is smaller than the to date ascertained smallest distance d.sub.min.

(30) If this is the case (S240: Y), in a step S250, this distance d.sub.n is set as the new smallest distance d.sub.min and the vector variable for the positioning force f to be applied is assigned a value that is proportional to the difference vector between the current TCP position x.sub.1 and this reference y.sub.n corresponding to the counter n.

(31) If, however, the distance d.sub.n of the reference y.sub.n corresponding to the counter n is not smaller than the to date ascertained smallest distance d.sub.min (S240: N), or if d.sub.min and f have been reassigned in step S250, the distance d.sub.(n, n+1) of the track B between the track point y.sub.n corresponding to this counter n and the following track point y.sub.n+1 is checked in a step S260 whether it is smaller than the to date ascertained smallest distance d.sub.min.

(32) If this is the case (S260: Y), in a step S270, this distance d.sub.(n, n+1) is set as the new smallest distance d.sub.min and the vector variable for the positioning force f to be applied is assigned a value that is proportional to the difference vector between the current TCP position x.sub.1 and the track point y.sub.(n, n+1) between y.sub.n and y.sub.n+1 that is closest to the current TCP position.

(33) The process then returns to step S220 and increments the counter n.

(34) If all references, in the design example all track points and the track defined by them, have been processed (S230: Y), the positioning force f, determined in this way, is motorically applied to the robot. In addition, the reference in the state space of the robot that exhibits the smallest distance is displayed (not shown).

(35) The TCP is hereby, as indicated in FIG. 1, taken to the reference that is closest to its current position x.sub.1 in an impedance-controlled manner; in the design example to the closest track point y.sub.(n, n+1).

(36) In particular the robot track B can thus easily and intuitively be checked haptically. The specified track points y.sub.1, . . . , y.sub.n, y.sub.n+1, . . . in particular can easily be determined directly, if the steps S260, S270 are omitted in the design example, i.e. only the specified track points, instead of also the track, are used as references. Likewise, in addition or alternatively, a virtual structure in the form of the previously described limit G can also be used as a reference and the TCP can be taken to it in a force controlled manner, so as to subsequently exceed it and thus test the safety monitoring. In this context it should be noted that the limit G represents a plane hypersurface or wall in the state space {x.sub.i, x.sub.j}.

(37) Even though examples have been discussed in the foregoing description, it should be noted that a large number of variations are possible.

(38) In particular, as illustrated above, instead of the initiation of the safety response STOP 1 on the one hand, and the application of a positioning force f driving to the closest reference y.sub.(n, n+1) on the other hand, the two aspects of the application of the positioning force F restoring to the limit G can also be realized independently. In this regard, in the design example of FIG. 2, in particular steps S10 to S120, which concern the aspect of the application of the positioning force driving back to the limit instead of the initiation of the safety response, or steps S200 to S280, which concern the aspect of the application of a positioning force driving to the closest reference, can be omitted.

(39) While the present invention has been illustrated by the description of specific embodiments thereof, and while the 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 discussed 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 methods and illustrative examples shown and described. Accordingly, departures may be made from such details without departing from the scope or spirit of the general inventive concept.

LIST OF REFERENCE SIGNS

(40) 10 Distance means 20 Signal means 30 Safety means 40 (Control) Device x.sub.1; x.sub.2 TCP Position y.sub.n; y.sub.n+1 Specified track point y.sub.(n, n+1) Closest track point B Track d.sub.(min) (smallest) distance D Specified constant G.sub.1, G.sub.2 First limit F; f Positioning force M1 First mode of operation M2 Second mode of operation S Signal