COLLISION MONITORING OF A ROBOT

20200078946 ยท 2020-03-12

    Inventors

    Cpc classification

    International classification

    Abstract

    A method for collision monitoring of a robot includes ascertaining an actual value of an axis load of at least one axis of the robot and identifying a collision of the robot if a deviation between this actual value and a reference value of the axis load exceeds a threshold value. The threshold value is ascertained as a function of at least one preceding deviation between the actual value and the reference value and/or at least one preceding reference value and/or the reference value, is ascertained as a function of a preceding actual value.

    Claims

    1-12. (canceled)

    13. A method for collision monitoring of a robot, comprising: ascertaining an actual value of an axis load of at least one axis of the robot; and identifying a collision of the robot if a deviation between the actual value and a reference value of the axis load exceeds a threshold value; wherein at least one of: the threshold value is ascertained as a function of at least one of: a) at least one preceding deviation between the actual value and the reference value, or b) at least one preceding reference value, or the reference value is ascertained as a function of a preceding actual value.

    14. The method of claim 13, further comprising: switching the robot between a first operating mode and a second operating mode as a function of a speed of the robot; wherein: in the first operating mode, the threshold value is ascertained as a function of at least one preceding deviation between the actual value and the reference value and/or at least one preceding reference value, and in the second operating mode, the reference value is ascertained as a function of a preceding actual value.

    15. The method of claim 13, wherein the reference value is an expected value of the axis load.

    16. The method of claim 15, wherein reference value is an expected value when the robot is in the first operating mode.

    17. The method of claim 15, wherein the expected value is a model-based value of the axis load.

    18. The method of claim 13, wherein the threshold value is ascertained as a function of at least one of: an average of preceding deviations between the actual value and the reference value; or a change of at least one of: the reference value and/or the reference value as a function of a speed of the robot, a minimum value of preceding deviations between actual values and expected values of the axis load, or a tracking error of the axis.

    19. The method of claim 18, wherein at least one of: the average is a sliding average; the change of the reference value, minimum value, or tracking error is a sliding change; the minimum value is a sliding minimum value; or the expected values of the axis load are model-based values.

    20. The method of claim 13, wherein: the threshold value is ascertained as a function of at least one of an instantaneous factor or a filtered factor; and the instantaneous factor or the filtered factor is ascertained as a function of the change of the reference value.

    21. The method of claim 20, wherein the instantaneous factor or the filtered factor is ascertained non-linearly.

    22. The method of claim 18, wherein at least one of: at least one of the sliding average or the sliding change is ascertained over at least 5 ms and/or at most 200 ms; or the factor is filtered over at least 10 ms and/or at most 200 ms.

    23. The method of claim 13, wherein the threshold value is limited by at least one of a specified minimum threshold value or a specified maximum threshold value.

    24. The method of claim 13, wherein the threshold value is configurable by a user.

    25. The method of claim 24, wherein the threshold value is scalable by a user.

    26. The method of claim 13, further comprising: executing a safety response in response to the identification of a collision.

    27. The method of claim 26, wherein the safety response comprises at least one of: flexibly regulating the axes of the robot; braking the axes of the robot; or stopping the axes of the robot.

    28. A controller for collision monitoring of a robot, the controller comprising: means for ascertaining an actual value of an axis load of at least one axis of the robot; means for identifying a collision of the robot if a deviation between the actual value and a reference value of the axis load exceeds a threshold value; and means for ascertaining at least one of: the threshold value as a function of at least one of: a) at least one preceding deviation between the actual value and the reference value, or b) at least one preceding reference value, or the reference value is ascertained as a function of a preceding actual value.

    29. A robot assembly, comprising: a robot; and a controller configured for collision monitoring of the robot in accordance with the method of claim 13.

    30. A computer program product, including a program code stored on a non-transient computer readable medium, that when executed by a robot controller, causes the controller to: ascertain an actual value of an axis load of at least one axis of the robot; and identify a collision of the robot if a deviation between the actual value and a reference value of the axis load exceeds a threshold value; wherein at least one of: the threshold value is ascertained as a function of at least one of: a) at least one preceding deviation between the actual value and the reference value, or b) at least one preceding reference value, or the reference value is ascertained as a function of a preceding actual value.

    Description

    BRIEF DESCRIPTION OF THE DRAWINGS

    [0056] 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 invention.

    [0057] FIG. 1 shows a robot assembly, including a robot and a controller for collision monitoring of the robot according to one embodiment of the present invention; and

    [0058] FIG. 2 shows a method for collision monitoring of the robot according to one embodiment of the present invention, text missing or illegible when filed in each case partially schematized.

    DETAILED DESCRIPTION

    [0059] FIG. 1 shows a robot assembly, including a robot 1 and a controller 2 for collision monitoring of the six axes A.sub.1-A.sub.6 of the robot.

    [0060] For this purpose, the controller carries out a method for collision monitoring of the robot 1 explained below with reference to FIG. 2 according to one embodiment of the present invention.

    [0061] In a step S10, an instantaneous actual value T of an axis load is detected for each axis A.sub.1-A.sub.6 (to be monitored), for example, by means of a drive current, via torque sensors on the axes or the like.

    [0062] In a step S20, it is checked whether a speed v of the robot 1 exceeds a specified speed tolerance of a stop monitoring v.sub.0.

    [0063] As long as this is the case (S20: Y), the controller 2 or the method continues with step S30.

    [0064] In this step, it is checked whether a deviation |T-T.sub.s| between the instantaneous actual value T from step S10 and a setpoint value T.sub.s expected for this axis load without collision, which is ascertained on the basis of a model, exceeds a threshold value a.Math. resulting from a corresponding selection of a constant a scaled by a user.

    [0065] If this is the case (S30: Y), the controller 2 or the method continues with step S40, in which a collision is identified and the robot 1 is stopped or switched into a flexible (more flexible) regulation.

    [0066] As long as the deviation does not exceed the threshold value (S30: N), the controller 2 or the method continues with step S50.

    [0067] In this step, the factor of the threshold value and thus similarly the scaled threshold value a.Math. itself is updated.

    [0068] According to the first aspect explained above, the factor is equated for this purpose with the sliding average over the last 80 ms of the preceding deviations |T-T.sub.s| ascertained in step S30.

    [0069] If this average falls below a specified minimum threshold value .sub.min, the factor is then set to this minimum threshold value .sub.min instead and in this way limited downwardly accordingly.

    [0070] It is apparent that the threshold value a.Math. is thus updated on the basis of a sliding average of preceding (precedingly ascertained) deviations |T-T.sub.s|: if these slowly become larger or smaller, this may result from a changing quality of the setpoint values T.sub.s or from a model underlying these values. The threshold value is advantageously automatically adapted to this, which advantageously reduces the frequency of an unwarranted responding of the collision monitoring and, at the same time, the effort in configuring the threshold value or the collision monitoring, while at the same time actual collisions having correspondingly rapid growing deviations may be reliably (more reliably) detected.

    [0071] According to the second aspect explained above, a change .sub.T of the setpoint value T.sub.s is instead first ascertained in step S50 over the last 12 ms. An instantaneous factor F is then ascertained, which is not a non-linear function of this change .sub.T, in particular, increases more strongly in the case of smaller changes than in the case of larger changes, for example, in the form FIn(.sub.T+1) or a, in particular, linear approximation thereof. Moreover, this factor F (and thus also the threshold value) is limited upwardly, for example, to 9. This factor is (slidingly) filtered over the last 80 ms to a factor F.sub.m. Then the larger of the instantaneous factor F and of the filtered factor F.sub.m is added to 1 and the result is multiplied by a specified minimum threshold value .sub.min with the factor of the threshold value a.Math.: a.Math.=a.Math..sub.min.Math.(1+Max{F, F.sub.m}).

    [0072] In this way, the threshold value a.Math. is updated and in the process limited downwardly to a.Math..sub.min and upwardly to a.Math..sub.min.Math.10.

    [0073] It is apparent that the threshold value a.Math. is thus updated on the basis of a sliding change .sub.T of the setpoint value T.sub.s: if this changes more markedly, this may reduce the quality of the setpoint values T.sub.s or of a model underlying these values, if in contrast, the change of the setpoint values T.sub.s is less marked, the quality of the setpoint values T.sub.s or of the model may improve accordingly. The threshold value is advantageously automatically adapted hereto, which advantageously reduces the frequency of an unwarranted responding of the collision monitoring due to unforeseen degradations of the quality of the setpoint values and, at the same time, the effort in configuring the threshold value or of the collision monitoring, while at the same time actual collisions are reliably (more reliably) detected.

    [0074] In one modification, the first aspect and the second aspect may also be combined, for example, by using the larger, smaller or average of the two previously explained threshold values a.Math. as the new threshold value a.Math..

    [0075] In a step S60, an (additional) reference value T.sub.R for the axis load is updated, which is used for the third aspect explained below.

    [0076] In this step, the deviation |T-T.sub.s| ascertained in step S30 is compared in each case with a minimum deviation (|T-T.sub.s|).sub.min ascertained in an simultaneously sliding time period. If the instantaneous (instantaneously) ascertained deviation |T-T.sub.s| is smaller than this minimal deviation (|T-T.sub.s|).sub.min, then the instantaneous (instantaneously) ascertained actual value T is adopted as new reference value T.sub.R. In addition, the additional reference value T.sub.R may be limited to the maximum or minimum of the instantaneous actual value and/or setpoint value, in order to consistently obtain a value.

    [0077] The controller 9 or the method then returns to step S10.

    [0078] If in step S20 the speed v of the robot 1 does not exceed the specified threshold speed v.sub.0 (S20: N), the controller 2 or the method continues with step S70.

    [0079] In this stop operating mode, it is assumed (in contrast to the moving operating mode of the steps S30, S50 and S60), that the setpoint values or a model underlying these values are ill-(less) suited for a collision monitoring.

    [0080] Thus, constant setpoint values rapidly occur, in particular, in the case of a commanded stop of the robot 1, which generally only compensate for the gravitation. In contrast, the actual values of the axis loads may, however, continue to vary, in particular, due to a position behavior of the regulator jitters or regulator humming, due to a reduction of residual tracking errors when approaching a stop pose or the like.

    [0081] This results in deviations between actual values and setpoint values, which could lead to an unwarranted responding of the collision monitoring in step S30.

    [0082] Therefore, the instantaneous actual value is instead compared in step S70 of the stop operating mode with the (additional) reference value T.sub.R ascertained in step S60, which corresponds to the actual value which, at a higher speed (v>v.sub.0) and thus correspondingly better quality of the setpoint values or of the model, most recently exhibited the smallest deviation.

    [0083] In step S70, it is possible to use a threshold value last ascertained in step S50, or another threshold value a.Math., in particular, fixed or configurable by the user.

    [0084] As in step S30, an exceedance of this threshold value a.Math., by the deviation |T-T.sub.R| between the instantaneous actual value T from step S10 and the (additional) reference value T.sub.R (S70: Y) via step S40 also results in step S70 in the identification of a collision and a stoppage or switch-over of the robots 1 into a flexible (more flexible) regulation.

    [0085] Otherwise (S70: N), it is checked in step S80 whether a tracking error has decreased by a specified value.

    [0086] If this is not the case (S80: N), the reference value T.sub.R is maintained and the controller 2 or the method returns to step S10.

    [0087] Otherwise (S80: Y), the instantaneous actual value T is adopted beforehand in a step S90 as new reference value T.sub.R before the controller 2 or the method returns to step S10.

    [0088] Thus, it is apparent that in the case of setpoint values as well, actual values continuing to vary due to a commanded stop of the robot 1, resulting, for example, from the reduction of tracking errors, do not result in an (unwarranted) identification of a collision. In this case the reference value T.sub.R, with which the instantaneous actual value is compared, is continually updated already in the moving operating mode (cf. step S60), so that it is already available when switching to the stop operating mode and, in addition, also in the stop operating mode is adapted to the reduced tracking error and, therefore, to a reducing variation of the actual value (cf. step S90).

    [0089] Although exemplary embodiments have been explained in the preceding description, it is noted that a variety of modifications is possible.

    [0090] Thus, step S60 may, in particular, be carried out before step S60 and/or step S70 may be carried out before step S90.

    [0091] It is also noted that the exemplary embodiments are merely examples, which are not intended to limit the scope of protection, the applications and the structure in any way. Instead, the preceding description offers the person skilled in the art a guideline for implementing at least one exemplary embodiment, wherein various changes, in particular, with respect to the function and arrangement of the described components may be undertaken, without departing from the scope of the invention, as it arises from the claims and from feature combination equivalent to the former.

    [0092] 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 NUMERALS

    [0093] 1 Robot [0094] 2 Controller [0095] A.sub.1-A.sub.6 Axis [0096] T Instantaneous actual value [0097] R.sub.R (additional) Reference value [0098] T.sub.s Setpoint value (reference value) [0099] v.sub.(0) Speed, (threshold speed) [0100] a.Math. Threshold value [0101] .sub.min/max Minimum/maximum threshold value [0102] tracking error