Controlling a robot

11648665 · 2023-05-16

Assignee

Inventors

Cpc classification

International classification

Abstract

A method for controlling a robot includes applying a setpoint force to a contact point; measuring a contact stiffness at the contact point; and slowing down the moving robot using its drives and/or braking the robot to apply the setpoint force to the contact point by the slowing down and/or slowed down robot depending on the measured contact stiffness, wherein the robot is slowed down before the setpoint force is reached.

Claims

1. A method for controlling a robot having a plurality of movement axes, and respective drives and brakes associated with the movement axes, the method comprising: specifying a setpoint force to be applied by the robot to a specified contact point; determining a contact stiffness at the contact point; slowing down the moving robot by at least one of drives or brakes of the robot to apply the setpoint force to the contact point by the slowing down and/or slowed down robot based on the determined contact stiffness; wherein movement of the robot is slowed down before the setpoint force is reached; detecting a current or imminent contact of the contact point by the moving robot; wherein slowing down the moving robot by at least one of drives or brakes of the robot to apply the setpoint force to the contact point further comprises slowing down movement of the robot based on the detected contact; and detecting a distance between the robot and the contact point; wherein detecting at least one of the current contact or imminent contact of the contact point is based on the detected distance.

2. The method of claim 1, wherein the moving robot is already slowed down to apply the setpoint force to the contact point before the moving robot contacts the contact point.

3. The method of claim 1, wherein the moving robot is only slowed down by its drives and/or brakes to apply the setpoint force to the contact point after the moving robot has contacted the contact point.

4. The method of claim 1, further comprising: detecting a reaction force between the contact point and the robot; wherein detecting the current contact of the contact point is further based on the detected reaction force.

5. The method of claim 1, further comprising: detecting a current movement of the robot; wherein slowing down the moving robot by at least one of drives or brakes of the robot to apply the setpoint force to the contact point further comprises slowing down movement of the robot based on the detected movement.

6. The method of claim 5, wherein slowing down the moving robot by at least one of drives or brakes of the robot further depends on a model of the robot.

7. The method of claim 1, further comprising: detecting at least one reaction force between the robot and at least one of the contact point or the environment of the contact point; wherein determining the contact stiffness at the contact point comprises determining the stiffness based on the at least one detected reaction force.

8. The method of claim 7, wherein the at least one reaction force is detected and the contact stiffness is determined based on the at least one reaction force while the robot contacts the contact point to apply the setpoint force.

9. The method of claim 1, wherein determining the contact stiffness comprises determining the contact stiffness based on a pose of the robot.

10. A controller for controlling a robot having a plurality of movement axes, and respective drives and brakes associated with the movement axes, the controller configured to: specify a setpoint force to be applied by the robot to a contact point; determine a contact stiffness at the contact point; slow down the moving robot by at least one of drives or brakes of the robot to apply the setpoint force to the contact point by the slowing down and/or slowed down robot based on the determined contact stiffness; wherein movement of the robot is slowed down before the setpoint force is reached; detect a current or imminent contact of the contact point by the moving robot; wherein slowing down the moving robot by at least one of drives or brakes of the robot to apply the setpoint force to the contact point further comprises slowing down movement of the robot based on the detected contact; and detect a distance between the robot and the contact point; wherein detecting at least one of the current contact or imminent contact of the contact point is based on the detected distance.

11. A system comprising: a robot having a plurality of movement axes, and respective drives and brakes associated with the movement axes; and a controller in accordance with claim 10 for controlling the robot.

12. A computer program product for controlling a robot having a plurality of movement axes, and respective drives and brakes associated with the movement axes, the computer program product comprising program code stored on a non-transitory, computer-readable medium, the computer program, when executed by a computer, causing the computer to: specify a setpoint force to be applied by the robot to a contact point; determine a contact stiffness at the contact point; slow down the moving robot by at least one of drives or brakes of the robot to apply the setpoint force to the contact point by the slowing down and/or slowed down robot based on the determined contact stiffness; wherein movement of the robot is slowed down before the setpoint force is reached; detect a current or imminent contact of the contact point by the moving robot; wherein slowing down the moving robot by at least one of drives or brakes of the robot to apply the setpoint force to the contact point further comprises slowing down movement of the robot based on the detected contact; and detect a distance between the robot and the contact point; wherein detecting at least one of the current contact or imminent contact of the contact point is based on the detected distance.

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 invention.

(2) FIG. 1 illustrates an arrangement with a robot and a control for controlling the robot according to one embodiment of the present invention;

(3) FIG. 2 illustrates the application of a reaction or setpoint force by the robot;

(4) and

(5) FIG. 3 illustrates a method for controlling the robot according to one embodiment of the present invention.

DETAILED DESCRIPTION

(6) FIG. 1 shows an arrangement with a robot 1 and a control 3 for controlling the robot 1 according to one embodiment of the present invention, FIG. 3 shows a method for controlling the robot 1 according to one embodiment of the present invention which is performed by the control 3.

(7) In a step S10, a setpoint force F.sub.s which the robot is to apply to a contact point 2 is specified. This may be specified, for example, by a user input, a working program or process of the robot or the like. In particular, in one embodiment, a setpoint force may be specified by a stop condition in a working program.

(8) In a step S20, which may be performed equally before, parallel to or after step S10, a contact stiffness c at the contact point 2 is measured depending on a stiffness of the contact point 2 and a stiffness of the robot 1 which is indicated in FIG. 1 by a spring stiffness c.sub.1 of the robot 1 and a spring stiffness c.sub.2 of the contact point 2 and results, in the exemplified embodiment, in a simplified manner by

(9) c = c 1 .Math. c 2 c 1 + c 2
At another contact point 2′, the contact stiffness is, for example,

(10) c = c 1 .Math. c 2 c 1 + c 2
as is indicated in big. 1 by a corresponding spring stiffness c′.sub.2.

(11) This determination of the contact stiffness c or c′ may be effected, for example, by the contact points 2, 2′ being approached by the robot 1 for test purposes in advance and the robot penetrating into them with a specified, in particular varying force, and the (respective) penetration depth being detected in the process, and/or reversely, the robot 1 penetrating by a specified, in particular varying, penetration depth and the (respective) reaction force being detected in the process.

(12) The contact stiffness may be measured specifically for the contact point, for example, the contact stiffness

(13) c = c 1 .Math. c 2 c 1 + c 2
by the above-described penetration at the contact point 2, and the contact stiffness

(14) c = c 1 .Math. c 2 c 1 + c 2
at the contact point 2′, wherein, depending on the current contact point, the corresponding contact stiffness is selected or an interpolation or extrapolation is effected between several contact stiffnesses. Equally, an averaged contact stiffness (c+c′)/2 may be uniformly determined for the contact points 2, 2′. It will be appreciated that the two contact points 2, 2′ are only intended as a simplified illustration.

(15) Equally, the measurement of the contact stiffness c may also be affected online while the robot 1 is approaching the contact point 2 to already apply the setpoint force F.sub.s, in particular at the beginning of a penetration, by comparing the penetration depth and the reaction force detected during this.

(16) In a step S30, a current or imminent contacting x.sub.c of the contact point 2 is detected by the moving robot 1.

(17) This may in particular be effected in that, by means of a force sensor system integrated in drives 5 and/or a force sensor system 5′ at the flange of the robot 1, a reaction force between the contact point 2 and the robot 1 contacting the same is detected, and the current contacting is detected based on this reaction force.

(18) Equally, by means of a robot-guided camera 4, which may also be spaced apart from the robot 1 in a modification, a distance between the robot 1 and the contact point 2 is detected, and the current or imminent contacting x.sub.c may be detected on the basis of this distance.

(19) On the basis of the setpoint force F.sub.s specified in step S10, the contact stiffness c measured in step S20, and the contacting x.sub.c detected in step S30, the control 3 determines, in a step S40, a setpoint pose x.sub.s of the robot 1 in which it applies the setpoint force F.sub.s.

(20) This is illustrated in FIG. 2 in a simplified manner with reference to a linear assumed or approximated model. One can see that the setpoint pose x.sub.s in the exemplified embodiment results from

(21) x s = F s c - x c .

(22) In a step S50, the control 3 slows down the moving robot 1 by its drives 5 such that it stops in the setpoint pose x.sub.s and, in this pose, correspondingly applies the setpoint force F.sub.s to the contact point 2.

(23) This may be done in particular in a model-based manner taking into consideration the contact stiffness c and detecting the movement dx/dt, d.sup.2x/dt.sup.2 of the robot 1. If one projects, in a simplified manner, masses and drive forces of the robot onto a mass m and a drive force F.sub.x in the direction of the x-axis direction drawn in FIG. 1, a model results in the following formula, leaving out of consideration further forces, such as friction, gravity, etc.:

(24) m d 2 x dt 2 = { F x x < x c F x - c .Math. ( x - x c ) x x c

(25) Based thereon, the corresponding drive forces may be determined and instructed with the detected speed during contacting and the required slowing down at x.sub.s.

(26) The setpoint pose x.sub.s, however, does not have to be calculated. In a modification, for example, one can determine, in particular predict based on a model, when the setpoint force F.sub.s is reached, from the speed of the robot 1 or its contact region during contacting and the measured spring stiffness c, and the slowing down may be started correspondingly early (earlier) or late (later), and/or slowing down may be correspondingly effected to a greater or lesser extent in phases.

(27) In the example of contact point 2, slowing down is started at x.sub.b before the setpoint force F.sub.s is reached at x.sub.s, but only after the moving robot 1 has contacted the contact point 2.

(28) Equally, the slowing down of the moving robot 1 by its drives 5 to apply the setpoint force F.sub.s to the contact point 2′ by the slowed down robot may be started, in particular with high contact stiffnesses as indicated by way of example by c′.sub.2>c.sub.2, already at x′.sub.b, still before the moving robot contacts the contact point 2′ at x.sub.c.

(29) This also shows that the contact stiffness may be selected based on or depending on the pose of the robot 1, or interpolation or extrapolation may be affected between several contact stiffnesses. Depending on the pose of the robot 1, it contacts the contact point 2 or 2′ so that in step S20, the pose-specific contact stiffness c or c′ may be selected for this in each case. In another pose, interpolation or extrapolation may be affected from these contact stiffnesses c, c′.

(30) 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

(31) 1 robot 2, 2′ contact point 3 control 4 camera 5 drive with force or moment sensor 5′ force or moment sensor c contact stiffness c.sub.1 stiffness of robot 1 c.sub.2, c′.sub.2 stiffness of contact point 2/2′ F.sub.s setpoint force x.sub.c contacting x.sub.s setpoint pose x.sub.b, x′.sub.b start of slowing down