Control of a robot

10239207 ยท 2019-03-26

Assignee

Inventors

Cpc classification

International classification

Abstract

A method for controlling a robot having a drive arrangement with at least one drive includes determining an actual velocity of the robot, determining a target velocity for the robot, and determining a damping drive parameter based on a difference between the target velocity and the actual velocity. The target velocity is determined based on at least one of a predetermined maximum velocity, a predetermined minimum velocity, or a first distance of the robot from at least one predetermined boundary. The drive arrangement of the robot is then controlled based on the damping drive parameter.

Claims

1. A method for controlling a robot having a controller and a drive arrangement with at least one drive, the method comprising: determining an actual velocity of the robot; determining a target velocity for the robot; determining a damping drive parameter based on a difference between the target velocity and the actual velocity; and controlling the drive arrangement with the controller based on the damping drive parameter; wherein the target velocity is determined based on at least one of a predetermined maximum velocity, a predetermined minimum velocity, or a distance of the robot from at least one predetermined boundary; wherein the damping drive parameter is determined to be zero when the magnitude of the target velocity exceeds the magnitude of the actual velocity.

2. The method of claim 1, further comprising: determining a compliance drive parameter based on a compliance control; and controlling the drive arrangement based additionally on the compliance drive parameter.

3. The method of claim 2, wherein the compliance control is an impedance control or admittance control.

4. The method of claim 2, wherein controlling the drive arrangement based additionally on the compliance drive parameter comprises controlling the drive arrangement based on a sum of the damping drive parameter and the compliance drive parameter.

5. The method of claim 2, wherein a damping in the compliance control is based on a stiffness.

6. The method of claim 1, wherein the magnitude of the target velocity is at least one of: limited at its upper end by the predetermined maximum velocity; or limited at its lower end by the predetermined minimum velocity.

7. The method of claim 1, wherein the target velocity is determined such that, for a given distance of the robot from the predetermined boundary, the target velocity is greater when the robot is located on a permissible side of the predetermined boundary, and the target velocity is smaller when the robot is located on an impermissible side of the predetermined boundary.

8. The method of claim 1, wherein the magnitude of the target velocity increases with the distance of the robot from the predetermined boundary when the robot is on a permissible side of the predetermined boundary.

9. The method of claim 1, wherein the damping drive parameter is in a direction opposite to the actual velocity.

10. The method of claim 1, wherein magnitude of the damping drive parameter is limited on the upper end by a predetermined maximum value.

11. The method of claim 1, wherein the damping drive parameter is determined such that its magnitude increases with the difference between the target velocity and the actual velocity, when the magnitude of the actual velocity exceeds the magnitude of the target velocity.

12. The method of claim 11, wherein the damping drive parameter is proportional to the difference between the target velocity and the actual velocity, when the magnitude of the actual velocity exceeds the magnitude of the target velocity.

13. A system for controlling a robot having a drive arrangement with at least one drive, the system comprising: means for determining an actual velocity of the robot; means for determining a target velocity for the robot based on at least one of a predetermined maximum velocity, a predetermined minimum velocity, or a distance of the robot from at least one predetermined boundary; means for determining a damping drive parameter based on a difference between the target velocity and the actual velocity; and means for controlling the drive arrangement based on the damping drive parameter; wherein the damping drive parameter is determined to be zero when the magnitude of the target velocity exceeds the magnitude of the actual velocity.

14. A computer programming product for controlling a robot having a controller and a drive arrangement with at least one drive, the computer programming product including a program code stored on a non-transitory, computer-readable medium that, when executed by the controller, causes the controller to: determine an actual velocity of the robot; determine a target velocity for the robot; determine a damping drive parameter based on a difference between the target velocity and the actual velocity; and control the drive arrangement based on the damping drive parameter; wherein the target velocity is determined based on at least one of a predetermined maximum velocity, a predetermined minimum velocity, or a first distance of the robot from at least one predetermined boundary; wherein the damping drive parameter is determined to be zero when the magnitude of the target velocity exceeds the magnitude of the actual velocity.

Description

BRIEF DESCRIPTION OF DRAWINGS

(1) The above and other objects and advantages of the present invention shall be made apparent from the accompanying drawings and the description thereof.

(2) 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.

(3) FIG. 1 shows a robot and a system for controlling the robot according to one embodiment of the present invention;

(4) FIG. 2 shows a distance of the robot from the predetermined boundaries;

(5) FIG. 3 shows a target velocity in reference from the distance;

(6) FIG. 4 shows a damping drive parameter in reference to the target and an actual velocity; and

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

DETAILED DESCRIPTION

(8) FIGS. 1, 5 show a robot 1 with drives A.sub.1, . . . , A.sub.6 and a system with the control 2 for controlling the robot 1 and/or a method implemented by the control 2 for controlling the robot 1 according to one embodiment of the present invention.

(9) In a first step S10 the control 2 determines the distance dist of the robot 1 from predetermined boundaries q.sub.max, q.sub.min according to the above-stated equations (1) to (1). This is illustrated in FIG. 2. Here, q.sub.ist marks a detected actual position of the robot 1, for example one or more of its joint angles q.sub.1, . . . , q.sub.6 indicated in FIG. 1 or one or more components of a position and/or orientation of its TCP in the respective work space. Accordingly, q.sub.max, q.sub.min may also be predetermined, particularly with regards to joint angles or the operating space.

(10) In the position and orientation of the robot 1 shown, as an example the positive distance from the lower limit q.sub.min according to the equations (1) is smaller than the also positive distance from the upper limit q.sub.max according to the equations (1), and thus according to equations (1) it is determined as the distance dist of the robot 1 from the predetermined boundaries q.sub.max, q.sub.min. For illustration purposes, dot-dash lines also show another actual position of the robot in the impermissible (hatched in FIG. 1) area above the predetermined upper limit q.sub.max, which would be equivalent to a negative distance<0.

(11) If here boundaries are predetermined in several spatial directions and/or joints, in particular the (seen absolutely and/or subject to an algebraic sign) smallest distance is determined as the distance dist, as illustrated in FIG. 2.

(12) The determination of the distance can also occur as described in the following step in one embodiment in individual components such that q.sub.min, q.sub.max, and q.sub.ist each can illustrate one component of the position along the coordinate axis indicated in FIG. 2.

(13) Then the control 2 determines a target velocity a {dot over (q)}.sub.soll in a step S20 according to the equation (3) under the additional framework conditions according to the equation (2). This is illustrated in FIG. 3. This represents here on the one side the linear function of the target velocity a {dot over (q)}.sub.soll from the (actual position-depending) distance of the robot 1 to the predetermined boundaries (cf. equation (3)) and on the other side the limitation of the magnitude of the target velocity by a predetermined maximum velocity {dot over (q)}.sub.max towards the top and by a predetermined minimum velocity {dot over (q)}.sub.min towards the bottom (cf. equation (2)). As already mentioned, this can occur particularly for individual components such that {dot over (q)}.sub.soll, {dot over (q)}.sub.max, and {dot over (q)}.sub.min each may represent a component of the velocity.

(14) Then the control 2 determines in a step S30 according to the equation (9) under the additional framework conditions (7) and (8) a damping drive parameter .sub.d. This is illustrated in FIG. 4. This represents on the one hand a limitation of the magnitude of the damping drive parameter .sub.a by the predetermined maximum parameter .sub.max according to the equation (8). On the other hand it is clear that the damping drive parameter .sub.d is determined such that it is equal to zero if the target velocity {dot over (q)}.sub.soll exceeds with its magnitude the actual velocity {dot over (q)}.sub.ist (cf. equation (7)). If inversely the actual velocity {dot over (q)}.sub.ist exceeds in its magnitude the target velocity {dot over (q)}.sub.soll, the damping drive parameter .sub.d according to the equation (9) is determined such that it increases in its magnitude proportional to the difference between the target velocity {dot over (q)}.sub.soll and the actual velocity {dot over (q)}.sub.ist until it is limited by the maximum defined .sub.max. Here the damping drive parameter .sub.d according to the equation (6) is opposite in reference to the actual velocity {dot over (q)}.sub.ist. As mentioned, this can occur in turn particularly for individual components such that {dot over (q)}.sub.soll, {dot over (q)}.sub.ist, and .sub.d and/or .sub.max may represent one component each of the velocity and/or a drive force or a drive torque/moment of a drive A.sub.1, . . . A.sub.6.

(15) This damping drive parameter .sub.d commands the control 2 commands in a step S40 additively to the resilience drive parameter based on a resilience control, particularly an impedance or admittance control in a manner known per se and thus it is not shown in greater detail, to the drives A.sub.1, . . . , A.sub.6 of the robot 1.

(16) Although exemplary embodiments have been explained in the above description, it is hereby noted that a number of modifications are possible.

(17) As repeatedly mentioned the steps can be performed particularly for one or more components of positions, velocity, and drive parameters and/or degrees of freedom of the robot 1, which may be as above-stated vector-defined parameters also in a scalar fashion and mark a position, velocity and/or drive parameter in a spatial direction or a degree of freedom in a drive or joint coordinate system.

(18) The individual calculations and/or equations can particularly be respectively implemented in the drive and/or joint coordinate system or in the operating space of the robot, with the parameters if applicable being transferred between these rooms by forward and backward transformation. For example, boundaries predetermined in the operating space are transformed into the drive and/or joint coordinate space and then the drive forces and/or torque/moments are determined here directly. Similarly, drive parameters determined in the operating space can also be transformed into the drive and/or joint coordinate space.

(19) In addition, it is hereby noted that the exemplary embodiments are merely examples which are not intended to in any way restrict the scope of protection, the uses, and the construction. Rather, the preceding description gives a person skilled in the art a guideline for the implementation of at least one exemplary implementation, wherein various modifications, in particular with respect to the function and arrangement of the components described, can be undertaken without departing from the scope of protection as indicated by the claims and the equivalent combinations of features.

(20) 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 NUMBERS

(21) a. robot b. control A.sub.1, . . . , A.sub.6 drive q.sub.1, . . . , q.sub.6 joint angle q.sub.ist actual position q.sub.max, q.sub.min upper/lower limit {dot over (q)}.sub.soll target velocity {dot over (q)}.sub.ist actual velocity {dot over (q)}.sub.max, {dot over (q)}.sub.min maximum/minimum velocity dist distance .sub.d damping drive parameter .sub.max maximum value