SAFE OPERATION OF A MULTI-AXIS KINEMATIC SYSTEM
20220291655 · 2022-09-15
Inventors
- Maximilian Walter (Nurnberg, DE)
- Dominik Budday (Erlangen, DE)
- Minh Le (Bernburg, DE)
- Alexander Stein (Veitsbronn, DE)
- Sören Burmeister (Furth, DE)
Cpc classification
B25J9/1676
PERFORMING OPERATIONS; TRANSPORTING
G05B19/4155
PHYSICS
G05B2219/49138
PHYSICS
G05B2219/39051
PHYSICS
International classification
Abstract
A method and an associated controller for safely operating a multi-axis kinematic system by using a safety function are disclosed. The method includes calculating compensation values at the run time of a controller of the multi-axis kinematic system, wherein the calculation is performed based on predefinable error values of respective axes, geometric parameters of the multi-axis kinematic system, and current axis values of the multi-axis kinematic system. The method further includes operating the safety function based on the calculated compensation values.
Claims
1. A method for safely operating a multi-axis kinematic system by using a safety function, the safety function being based on respective positions of respective axes of the multi-axis kinematic system, the method comprising: calculating compensation values at a run time of a controller of the multi-axis kinematic system, wherein the calculation is performed based on predefinable error values of respective axes, geometric parameters of the multi-axis kinematic system, and current axis values of the multi-axis kinematic system; and operating the safety function based on the calculated compensation values.
2. The method of claim 1, wherein sensor resolutions are used as the error values of respective axes.
3. The method of claim 1, wherein axial run-on distances are used as the error values of respective axes.
4. The method of claim 1, wherein the safety function is dynamically adapted.
5. The method of claim 4, wherein the safety function is dynamically adapted by adapting variables of the safety function during the run time.
6. The method of claim 1, wherein the safety function is operated by using a comparison, which takes place at the run time, with compensation values ascertained in a configuration phase, and wherein a safety reaction is initiated when the calculated compensation values at the run time and the compensation values ascertained in the configuration phase are below respective stipulable deviation limit values.
7. The method of claim 6, wherein the respective error values and/or the geometric parameters are provided in the configuration phase at a time before the run time.
8. The method of claim 6, wherein the respective error values and/or the geometric parameters are provided or changed at the run time.
9. The method of claim 6, wherein the current axis values are obtained from trajectories to be travelled along by the multi-axis kinematic system, and during the run time for axis attitudes adopted at successive times as a result of the trajectories to be travelled along.
10. The method of claim 6, wherein the compensation values ascertained in the configuration phase are estimated or are ascertained during a test run.
11. The method of claim 1, wherein the respective error values and/or the geometric parameters are provided in a configuration phase at a time before the run time.
12. The method of claim 1, wherein the respective error values and/or the geometric parameters are provided or changed at the run time.
13. The method of claim 1, wherein the current axis values are obtained from trajectories to be travelled along by the multi-axis kinematic system, and during the run time for axis attitudes adopted at successive times as a result of the trajectories to be travelled along.
14. The method of claim 1, wherein compensation values ascertained in a configuration phase are estimated or are ascertained during a test run.
15. The method of claim 1, wherein the safety function comprises safe zone monitoring, a safe orientation, a safe Cartesian speed, or a combination thereof.
16. The method of claim 1, wherein one or more of angle absolute values, zone dimension absolute values, or speed absolute values, which are variable with the run time, are ascertained as compensation values.
17. The method of claim 1, wherein the safety function is further operated based on a timing error for scanning of respective axis sensors over time.
18. A control device for safely operating a multi-axis kinematic system, having a safety function block, the safety function block initiating safety reactions based on respective positions of respective axes of the multi-axis kinematic system, the control device comprising: a compensation block configured to calculate compensation values at a run time of a controller of the multi-axis kinematic system, wherein the compensation block has inputs for error values of respective axes, geometric parameters of the multi-axis kinematic system, and current axis values of the multi-axis kinematic system, wherein the compensation block has outputs for the compensation values, and wherein the safety function is configured to initiate safety reactions based on the output compensation values.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0054] The disclosure is explained more thoroughly below on the basis of exemplary embodiments with the aid of the figures, in which:
[0055]
[0056]
[0057]
DETAILED DESCRIPTION
[0058]
[0059] A user inputs the length of the first segment L1, and also the length of the second segment L2 and the length of the third segment L3, as geometric parameters of the multi-axis kinematic system 100. The second segment L2 starts from the first rotary axis 1 and is connected to the third segment L3 by way of a further rotary articulation, which forms the second axis 2. There is moreover provision for a lifting axis 3 on the third segment, which may be moved vertically. Finally, a last axis 4 is set up as a rotatable axis, which at the same time forms a flange having the dimension LF, for example.
[0060] The user also predefines the following transducer errors as maximum error values: [0061] transducer error F1 axis 1: 1/10° [0062] transducer error F2 axis 2: 1/10° [0063] transducer error F4 axis 4: 1/10° [0064] transducer error F3 axis 3: 1 mm
[0065] The errors in the input angles and the input parameters propagate to the calculated position of the flange as follows and produce a Cartesian position error Fpos of the flange:
Fpos=Fα1+Fα2+Fα3
where Fa1, Fa2, Fa3 are the error contributions of the axes 1, 2, 3, which all add up.
[0066] The following derivation may be used for the error contribution Fa2:
[0067] Let there be a position vector v, which is rotated about an angle α. An angle deviation of e.sub.α leads to a position error F=∥v−v′∥ of no more than
If α is specified in degrees, it holds that
This is true because the incorrect position v′ and the correct position v and also the center of rotation form an isosceles triangle with acute angle e.sub.α.
[0068] In vector terms, the following is therefore obtained for Fa2 on the basis of the axis values a1 and a2:
[0069] The error contribution Fa1 is obtained analogously as:
[0070] In this case, the superposition principle is used for multiple erroneous inputs to add the values in the outputs.
[0071] The error contribution Fa3 of (linear) axis 3 is used directly in the z component of the total position error:
[0072] Additionally, an absolute value estimation may take place across all possible axis input values, which means that the following is obtained for the example indicated:
[0073] Because safe zone monitoring is supposed to be active for the kinematic system depicted by way of illustration, for example, a Scara robot, the radii or cuboid half-lengths of intended kinematic system protection or operating spaces are adapted using the value Fpos. For higher accuracy requirements, the individual half-lengths may also be individually adapted in due consideration of the relevant axis attitudes.
[0074] Additionally, a safety function is also set up that reliably monitors the orientation of the flange.
[0075] Errors propagate from the error contributions F1, F2, F4 to the calculated orientation in an unaltered manner. In the worst case, the error F.sub.rot is therefore obtained for the given kinematic system values:
[0076] The compensation value Frot is also used by the monitoring function to perform an adaptation of the limit value. In this case, the spherical segment within which the orientation of the flange must be situated in order for no safety function to be initiated is reduced at the run time as appropriate.
[0077] If speed monitoring is additionally active as a safety function, the speed of a point is obtained analogously from the result of the vector subtraction from the most recently calculated position and a current position in due consideration of the time that has elapsed. Allowance is accordingly made for the errors additively for the worst case in order to adapt the limit speed as appropriate.
[0078] The three compensation values shown by way of illustration are each ascertained continuously, (e.g., in a constantly up-to-date manner), in the course of operation and the safety function is adapted in the controller PLC accordingly.
[0079]
[0080] The safety function block S1 operates on the basis of position values P1, P2, P3 provided by sensors or transducers EN1, EN2, EN3 of the axes 1, 2, 3 that are involved. From the position values P1, P2, P3, the safety function ascertains the variable to be monitored or the variables to be monitored, such as for example Cartesian positions or speeds.
[0081] Additionally, the compensation block K1 provides at least one compensation value F that influences a variable of the safety function, for example a comparison variable of a variable to be monitored. By way of example, the compensation value F increases or reduces the limit values up to which the safety function does not trigger a safety reaction.
[0082] The compensation block K1 receives the values that it needs in order to calculate the compensation value F at the compensation input I. Firstly, these are the position values P1, P2, P3, e.g., the current axis values during operation. These are likewise provided by the sensors or transducers EN1, EN2, EN3. Secondly, the compensation block K1 also receives values from a memory area M, which have been stored for the specific application, at the input I. These are the geometric parameters G of the multi-axis kinematic system 100 and the error values F1, F2, F3 of the sensors EN1, EN2, EN3.
[0083] Additionally, error values F1′, F2′, F3′ of the axes 1, 2, 3, for which allowance needs to be made during safety reactions on the basis of axial run-on distances, are provided from the memory M. The calculations of the compensation value F at the run time may then be performed according to one of the examples described above.
[0084] If for example position values that are erroneous, (for example, because run-on distances of individual axes when a stop process is initiated may lead to an infringement of safety zones on a Cartesian basis, or because transducer values are erroneous on the basis of limited resolution, are reported in the course of operation), safe operation without collisions is still made possible based on the use of the continually calculated compensation values for limit values that are set.
[0085]
[0086] Allowance is made for a speed, determined using sensors or transducers, of individual axes, or of a part of the multi-axis kinematic system whose speed results from the interaction of multiple axes, being erroneous. Positions detected at predefined times are used for the speed ascertainment. These positions are erroneous and accordingly the speed deduced therefrom is also erroneous.
[0087] The errors attached to the two items of position information are used to ascertain the compensation value F, here inter alia a speed error absolute value FV of the speed, using the methods of error propagation. The absolute value is just large enough for the worst case of errors adding up to be covered and at the same time excessively pessimistic estimation not to take place.
[0088] To again correctly ascertain the position errors attached to the part of the kinematic system that is monitored using the function “Safe speed”, for example, the end effector, the position errors of all axes involved, or of the respective axis sensors thereof, are ascertained and then propagation algorithms are used to ascertain an error of the respective position. For this purpose, the maximum position errors of the axes involved are provided to the compensation program, which ascertains the compensation value during operation and at the run time, as maximum error values F1, F2, F3 from a memory.
[0089] Besides the position error based on the output value of the sensors, errors for the scanning of the sensors over time are also included. For every position detected at a time, a total position error absolute value FZ is therefore obtained. Allowance is accordingly made for respective total position errors in order to ascertain the speed error absolute value FV.
[0090] The total position error absolute value FZ may also be used for further activated safety functions, for example in order to estimate the position errors, which are critical for the zone monitoring and necessitate enlargements of the safety zones. For an additional activated safety function “Safe orientation”, an angle error absolute value FW may additionally be output, which defines the cone within which the orientation of a tool or other part of the kinematic system may be expected in the worst case.
[0091] Besides the maximum errors F1, F2, F3, the geometric parameters G of the multi-axis kinematic system are also processed by the compensation program.
[0092] All of the details made available in this manner may now be used to provide the compensation values in a manner tailored to an individual kinematic system and the individual motion sequences thereof at the run time. In particular, a compensation value for a variable is output as the maximum error absolute value obtained at a time during operation of the multi-axis kinematic system.
[0093] It is to be understood that the elements and features recited in the appended claims may be combined in different ways to produce new claims that likewise fall within the scope of the present disclosure. Thus, whereas the dependent claims appended below depend from only a single independent or dependent claim, it is to be understood that these dependent claims may, alternatively, be made to depend in the alternative from any preceding or following claim, whether independent or dependent, and that such new combinations are to be understood as forming a part of the present specification.
[0094] While the present disclosure has been described above by reference to various embodiments, it may be understood that many changes and modifications may be made to the described embodiments. It is therefore intended that the foregoing description be regarded as illustrative rather than limiting, and that it be understood that all equivalents and/or combinations of embodiments are intended to be included in this description.