Override-based, predictive speed capping
10220514 · 2019-03-05
Assignee
Inventors
- Holger Tronnier (Augsburg, DE)
- Günther Wiedemann (Gersthofen, DE)
- Stefan Burkhart (Dillingen a. d. Donau, DE)
- Andreas Aurnhammer (München, DE)
- Manfred Hüttenhofer (Meitingen, DE)
Cpc classification
Y10S901/16
GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
Y10S901/28
GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
B25J9/1676
PERFORMING OPERATIONS; TRANSPORTING
G05B2219/39097
PHYSICS
G05B2219/39098
PHYSICS
Y10S901/02
GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
International classification
Abstract
A method for controlling a manipulator, with the method being particularly suitable for the respecting of predetermined monitoring limits. The method operates by initiating a halting movement or a speed capping based on an identified actual override trend, and is thus suitable, in particular, for path movements by means of spline interpolation.
Claims
1. A method for controlling a manipulator, comprising: simulating in a current cycle (t.sub.0) a path movement of the manipulator under control of an override value; identifying a critical override value at which a maximum path speed of the manipulator can be achieved without violating a predetermined monitoring limit; simulating in the current cycle (t.sub.0) a halting movement of the manipulator performed over a sequence of cycles (t.sub.1. . . t.sub.n) following the current cycle, the halting movement reducing the path speed from an actual simulated path speed at the critical override value to a standstill over the sequence of cycles (t.sub.1. . . t.sub.n); determining during the simulated halting movement of the manipulator and successively in ones of the sequence of cycles (t.sub.1. . . t.sub.n) whether the predetermined monitoring limit is violated; and initiating the halting movement of the manipulator during the current cycle (t.sub.0) upon determining that the predetermined monitoring limit is violated during one of the sequence of cycles (t.sub.1. . . t.sub.n), wherein the cycle (t.sub.1) immediately follows the current cycle (t.sub.0).
2. The method according to claim 1, wherein the halting movement takes place by means of braking.
3. The method according to claim 1, wherein the simulation of the halting movement takes place at the beginning of the current cycle (t.sub.0).
4. The method according to claim 1, wherein the initiation of the halting movement takes place in response to determining in the current cycle (t.sub.0) that the predetermined monitoring limit is violated.
5. The method according to claim 1, wherein the simulation of the halting movement for the sequence of cycles (t.sub.1. . . t.sub.n) following the current cycle takes place based on the simulated initiation of the halting movement for the cycle (t.sub.1) immediately following the current cycle.
6. The method according to claim 1, wherein the simulation takes place based at least on a current pose of the manipulator or a path plan.
7. The method according to claim 1, wherein the predetermined monitoring limit includes one or more members selected from the group consisting of: a predetermined working space limit defined in Cartesian or axis-specific coordinates, a predetermined maximum axis speed for at least one axis of the manipulator, a predetermined maximum tool speed, a predetermined maximum flange speed, and a predetermined maximum tool working point speed.
8. The method according to claim 1, wherein the simulation of the halting movement comprises at least one of a calculation of a speed of the manipulator or a calculation of an actual override value or a calculation of an actual state of the manipulator for the sequence of cycles (t.sub.1 . . . t.sub.n) following the current cycle.
9. The method according to claim 1, wherein the step of identifying a critical override value further comprises the steps of: identifying, at the beginning of the current cycle, an actual state of the manipulator for the current cycle, based at least on a nominal speed for the current cycle; determining whether, based on the identified actual state of the manipulator, a predetermined monitoring limit will be violated in the current cycle, and reducing, in response to the determination, of the nominal speed for the current cycle.
10. The method according to claim 9, wherein the actual state of the manipulator comprises at least one of Cartesian and axis-specific manipulator positions or manipulator movement data.
11. The method according to claim 9, wherein the identification of the actual state of the manipulator for the current cycle is also based on at least one of a current pose of the manipulator or a path plan.
12. The method according to Claim 1 wherein, in the simulating step, the path speed is step-wise adapted from the speed at the critical override value to a standstill over the sequence of cycles (t.sub.1. . . t.sub.n).
13. A robot system, comprising: a manipulator; and a control system, wherein the control system is configured to: simulate in a current cycle (t.sub.0) a path movement of the manipulator under control of an override value, identify a critical override value at which a maximum path speed of the manipulator can be achieved without violating a predetermined monitoring limit, simulate in the current cycle (t.sub.0)a halting movement of the manipulator performed over a sequence of cycles (t.sub.1 . . . t.sub.n) following the current cycle, the halting movement reducing an actual simulated path speed from a speed at the critical override value to a standstill over the sequence of cycles (t.sub.1. . . t.sub.n), determine during the simulated halting movement of the manipulator and successively in of ones of the sequence of cycles (t.sub.1 . . . t.sub.n) whether the predetermined monitoring limit is violated, and initiate the halting movement of the manipulator during the current cycle (t.sub.0) upon determining that the predetermined monitoring limit is violated during one of the sequence of cycles (t.sub.1 . . . t.sub.n), wherein the cycle (t.sub.1) immediately follows the current cycle( t.sub.0).
14. The method according to claim 1, wherein the manipulator comprises a jointed-arm robot.
15. The method according to claim 2, wherein the halting movement takes place by means of adjusting a nominal speed to zero or by means of adjusting a nominal override value to zero.
16. The system according to claim 13, wherein the manipulator comprises a jointed-arm robot.
17. The system according to claim 13, wherein the predetermined monitoring limit includes one or more members selected from the group consisting of: a predetermined working space limit defined in Cartesian or axis-specific coordinates, a predetermined maximum axis speed for at least one axis of the manipulator, a predetermined maximum tool speed, a predetermined maximum flange speed, and a predetermined maximum tool working point speed.
18. The system according to claim 13, wherein the control system configured to simulate the halting movement in a step-wise adaptation of the path speed is step-wise adapted from the speed at the critical override value to a standstill over the sequence of cycles (t.sub.1. . . t.sub.n).
Description
4. EXEMPLARY EMBODIMENTS
(1) The present invention is described in greater detail below with reference to the accompanying figure, in which:
(2)
(3)
(4) The method 10 begins in step 11, wherein, in cycle t.sub.o, a new actual override value is identified, which results from a predetermined nominal override value. Alternatively, it is also possible to identify what actual path speed would result based on a predetermined nominal path speed. Based on the identified actual override value, Cartesian and axis-specific robot positions and all relevant, i.e. to be monitored, derivations of this position data are identified for the cycle t.sub.o.
(5) In the following step 12, it is determined or checked whether, on the basis of the values identified in step 11, a monitoring variable would already be violated during the cycle t.sub.o. If this decision 12 is affirmative, the nominal override value, or alternatively the nominal path speed, is reduced, and then the method is continued in step 11 with the reduced nominal override value or the reduced nominal path speed. This sequence is repeated until a critical (maximum) actual override value has been identified, with which no monitoring variables in the cycle t.sub.o would be violated, so that the decision 12 is negative.
(6) If the decision 12 is negative, in step 13 an actual override value for the following cycle t.sub.i=t.sub.1 is simulated. In other words, there is simulation of what would happen if a halting movement were to be initiated in cycle t.sub.1, i.e. if the nominal override were to be adjusted to zero in cycle t.sub.1. For the actual override value, Cartesian and axis-specific data of the manipulator are determined for the cycle t.sub.1. From these simulated positions, the derivations to be monitored, such as the flange speed, for example, are identified. In the course of the simulation of this halting movement initiated in cycle t.sub.1, the controller calculates the path of the manipulator or of the TCP for all following cycles t.sub.2 up until t.sub.standstill. If this simulated path were to lead to a limit violation, the simulation ends and the halting movement is immediately initiated in cycle t.sub.o. This sequence is represented as follows in
(7) In the decision 14, it is determined or checked whether, based on the variables identified in step 13, at least one relevant monitoring limit would already be exceeded in cycle t.sub.1. If this decision 14 is affirmative, in step 15 the simulation is ended in the current cycle t.sub.o and the nominal override value for the current cycle t.sub.o is immediately adjusted to zero, i.e. a halting movement is initiated. Alternatively, a nominal path speed can also be adjusted to zero. The reliability of the actual override values resulting from the following cycles was already guaranteed during the preceding cycle t.sub.1.
(8) If, however, the decision 14 is negative, it is checked in a following decision 16 whether the actual override value identified for the simulation cycle t.sub.1 is zero, i.e. whether the manipulator has come to a standstill at cycle t.sub.1 in the simulation. If this is not the case, the cycle time to be simulated is increased by one (t.sub.i=i+1) and the method is continued in step 13 for this next cycle. In other words, there is simulation for cycle t.sub.2 of where the manipulator or the TCP is located, based on the halting movement (simulatedly) initiated in cycle t.sub.1. In the decision 14, it is then checked whether a monitoring limit would be violated in the cycle t.sub.2. If this is the case, in accordance with step 15, the simulation is ended and the nominal override value for the current cycle t.sub.o is immediately adjusted to zero, i.e. a halting movement is initiated. Otherwise, in decision 16, it is checked whether the actual override value identified for the simulation cycle t.sub.2 is already zero, i.e. whether the manipulator has come to a standstill at cycle t.sub.2 in the simulation. If this is not the case, the cycle time to be simulated is again increased by one (t.sub.i=i+1), and the method is simulated in step 13 for the cycle t.sub.3, etc.
(9) If the decision 16 is affirmative, i.e. the manipulator came to a stop in the simulation for, for example, the cycle t.sub.15, in the following step 17 the simulation is ended in the current cycle t.sub.o, and the maximum actual override value previously identified in the steps 11, 12 is used as the real actual override value for the current cycle t.sub.o and the manipulator is controlled based on this value.
(10) The method then starts anew in the next cycle t.sub.1, which then corresponds to the current cycle.
(11) It should be noted that the invention claimed herein is not limited to the described embodiments, but may be otherwise variously embodied within the scope of the claims listed infra.