SAFE OPERATION OF A MULTI-AXIS KINEMATIC SYSTEM

20220288773 · 2022-09-15

    Inventors

    Cpc classification

    International classification

    Abstract

    A method for setting up safe operation of a multi-axis kinematic system, a method for safely operating a multi-axis kinematic system, and to an input device for setting up safe operation of a multi-axis kinematic system and a corresponding computer program product. A method includes providing error values of respective axes and ascertaining a compensation value for at least one variable of the safety function on the basis of the error values, on the basis of geometric parameters of the multi-axis kinematic system and on the basis of axis values of the respective axes that are obtained from trajectories of the multi-axis kinematic system.

    Claims

    1. A method for setting up a safe operation of a multi-axis kinematic system, wherein the safe operation comprises a safety function that is based on respective axis positions of respective axes of the multi-axis kinematic system, the method comprising: providing error values of respective axes; and ascertaining a compensation value for at least one variable of the safety function on the basis of the error values, on the basis of geometric parameters of the multi-axis kinematic system, and on the basis of axis values of the respective axes that are obtained from trajectories of the multi-axis kinematic system.

    2. The method of claim 1, wherein sensor resolutions are provided as the error values of respective axes.

    3. The method of claim 1, wherein axial run-on distances are provided as the error values of respective axes.

    4. The method of claim 1, wherein the geometric parameters of the multi-axis kinematic system are further provided for the setup.

    5. The method of claim 1, wherein the trajectories are deduced from a set of trajectories that are predefinable for the multi-axis kinematic system.

    6. The method of claim 1, wherein the trajectories are deduced from maximum value ranges for the respective axes.

    7. The method of claim 1, wherein the trajectories describe a combination of axis values of all axes over a time and are formed on the basis of a trace or a simulation or an observation of live data during a movement of the multi-axis kinematic system.

    8. The method of claim 1, wherein the safety function comprises at least one of a safe zone monitoring, a safe orientation, or a safe Cartesian speed.

    9. The method of claim 1, wherein at least one of a position error absolute value, an angle error absolute value, or a speed error absolute value are ascertained as the compensation value.

    10. The method of claim 1, wherein a timing error for scanning of respective axis sensors over time is further provided.

    11. The method of claim 1, wherein maximum dynamic values of the respective axes are further provided.

    12. The method of claim 1, wherein further parameters or the maximum dynamic values are ascertained during operation of the multi-axis kinematic system.

    13. The method of claim 1, wherein the safety function is adapted on the basis of the compensation value.

    14. The method of claim 1, wherein the compensation value for the at least one variable is ascertained and stored on the basis of an adoptable attitude or position of the multi-axis kinematic system.

    15. The method of claim 14, wherein the safety function is adapted during operation on the basis of the compensation value and a current attitude or position of the multi-axis kinematic system.

    16. The method of claim 1, wherein during operation the safety function resorts to the ascertained compensation values.

    17. An input device for setting up a safe operation of a multi-axis kinematic system, wherein the safe operation comprises a safety function that is based on respective axis positions of respective axes of the multi-axis kinematic system, the input device comprising: an HMI-based input configured to input error values of respective axes; and an output configured to output a compensation value for at least one variable of the safety function based on the error values, geometric parameters of the multi-axis kinematic system, and axis values of the respective axes that are obtained from trajectories of the multi-axis kinematic system.

    18. A non-transitory computer implemented storage medium that stores machine-readable instructions executable by at least one processor, the machine-readable instructions for setting up a safe operation of a multi-axis kinematic system, wherein the safe operation comprises a safety function that is based on respective axis positions of respective axes of the multi-axis kinematic system, the machine-readable instructions comprising: providing error values of respective axes; and ascertaining a compensation value for at least one variable of the safety function on the basis of the error values, on the basis of geometric parameters of the multi-axis kinematic system, and on the basis of axis values of the respective axes that are obtained from trajectories of the multi-axis kinematic system.

    Description

    BRIEF DESCRIPTION OF THE FIGURES

    [0055] FIG. 1 depicts a schematic representation of an input device according to an embodiment.

    [0056] FIG. 2 depicts a schematic flowchart to illustrate the method according to an embodiment.

    [0057] FIG. 3 depicts a schematic representation of a multi-axis kinematic system to illustrate the method according to an embodiment.

    [0058] In the figures, elements that have the same function have been provided with the same reference symbols unless indicated otherwise.

    DETAILED DESCRIPTION

    [0059] FIG. 1 depicts a realization of an input device EH) according to an embodiment that is realized for example as a graphical user interface on an HMI. By way of example, this is a window-based solution that is integrated in an engineering tool E100 in terms of design and handling. The engineering tool E100 is used in the normal way to configure an application scenario in which a multi-axis kinematic system is used. The multi-axis kinematic system is used in an application for example to perform machining of a workpiece using a tool mounted on the end effector of the multi-axis kinematic system. In the configuration phase for this application, for example data of the multi-axis kinematic system and surroundings data are captured in the engineering tool, and a wide variety of functions are set up. By way of example, function modules are used to set up motion sequences that need to be performed by the kinematic system during operation.

    [0060] Furthermore, monitoring functions are also set up here. By way of example, zones through which the kinematic system is not supposed to travel, as safety zones in the surroundings of the kinematic system, are predefined. For a monitoring function, for example operating zones are stipulated that envelop individual segments of the multi-axis kinematic system with predefined geometric bodies and that define spaces that are likewise not permitted to overlap safety zones.

    [0061] Such safety functions are defined during the configuration by the engineering tool E100. By way of example, there is provision for producing a simulated representation of a multi-axis kinematic system 100′ in a visualization window S10 and using this to visualize the application scenario, for example including an environment. By way of example, it is thus possible to simulate the execution of motion sequences in the space in due consideration of an environment and defined safety and operating zones. It is furthermore also possible here to simulate safety reactions such as the initiation of safe stop processes.

    [0062] The safety functions defined by the engineering tool are based on position data that the safety functions obtain from axis sensors of the various driven axes of the multi-axis kinematic system. A crucial aspect for safety on an installation is therefore the reliability of the position data obtained. For this purpose, there is provision for standard safety mechanisms, for example in order to react to failure of a sensor as appropriate.

    [0063] Another crucial aspect for safety is that there is an opportunity to make allowance for axial run-on distances.

    [0064] There is thus provision for the input device E10, that has an input E or an input mask. There, there is provision for an input facility for the user in order to input error values from axis sensors on the basis of axial run-on distances.

    [0065] Depending on the design of the engineering tool E100, geometric parameters of the multi-axis kinematic system are configured at another location already. By way of example, these data are also needed for motion planning that creates the trajectories for the multi-axis kinematic system. Similarly, however, it is also possible for these geometric parameters to be predefined separately for the input device E10 by the user by the input E in order to set up safe operation.

    [0066] The input device E10 serves as an interface that the user may use to make all the necessary inputs so that a software program running at the time of configuration may calculate compensation values therefrom. These compensation values are in different forms, depending on the safety functions that are configured. For the zone monitoring described above, compensation values for all zones to be monitored are output as the compensation values via the output A. By way of example, the length absolute value by which dynamic zones or segment zones that are involved need to be enlarged, along individual coordinate directions, depending on the instance, so as, even in the event of a safety reaction that leads to run-on distances for single or multiple axes, to reliably compensate for this uncertainty regarding the actual position of the axes, is therefore specified.

    [0067] By way of example, the input device E10 is configured in such a way that maximum possible run-on distances of all axes involved are entered. Depending on which safety functions have already been configured, all compensation values for which allowance needs to be made in the respective safety functions are accordingly now output. If for example the function “Safe orientation” has additionally been configured, the input field is used to record a run-on distance in the form of an angle error, that may occur for a rotary axis on the basis of the inertia, for the rotary axis that is to be monitored using the safety function “Safe orientation” and accordingly to specify a compensation value in the form of a compensation angle that describes a spherical segment as a tolerance range.

    [0068] Additionally, allowance may also be made for erroneous variables. Position data obtained by axis sensors are typically erroneous variables of this kind. Since the ascertainment of positions of an end effector or of individual segments of the multi-axis kinematic system often involves output data from multiple different axis sensors, it is also necessary to make allowance for the interaction of error contributions by multiple sensors or transducers. Depending on which masses, inertias and speeds may prevail on axes, the compensation effects on the basis of axial run-on distances or sensor resolutions may be predominant. Advantageously, both effects are ascertained, and allowance is ultimately made for the resulting maximum compensation values.

    [0069] FIG. 2 uses a flowchart to illustrate a method according to an embodiment. In a first step, setup S100 takes place, at the end of which a compensation value F is output. On the basis of this compensation value F, safe operation S200 of the multi-axis kinematic system is rendered possible in a second step. During operation, at least one safety function S is in operation. By way of example, the function “Safe speed monitoring” is activated, that predefines maximum speeds for individual axes and initiates a safety state if the maximum speed is exceeded. By way of example, the exceeding is indicated at an output or stopping of the kinematic system is initiated, a so-called STO.

    [0070] 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. The positions are erroneous and accordingly the speed deduced therefrom is also erroneous.

    [0071] As part of the setup S101, the errors attached to the two items of position information are used to ascertain S103 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.

    [0072] 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, a software program that performs the ascertainment of the error absolute values in the setup phase is provided S102 with the maximum position errors of the axes involved as maximum error values F1, F2, F3. Besides the position error on the basis of 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.

    [0073] 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, that 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, that defines the cone within which the orientation of a tool or other part of the kinematic system may be expected in the worst case.

    [0074] Besides the maximum errors F1, F2, F3, the geometric parameters G of the multi-axis kinematic system are also provided to the input device. Moreover, trajectories T1, T2, T3 are provided that describe the relevant trajectories of the multi-axis kinematic system during later operation.

    [0075] For scenarios in which the trajectories to be taken later are not yet known at the time at which safe operation is set up, maximum value ranges W1, W2, W3 for axes 1, 2, 3 that are involved are provided. By way of example, a maximum linear range of travel of a linear axis is specified, and also maximum angles describing the swivel range, in one or more directions, of rotatably mounted axes that are involved. These details may be used in the setup phase to deduce all attitudes of the multi-axis kinematic system that are potentially adoptable during operation.

    [0076] All of the details made available in this manner may now be used to provide the error absolute values in a manner tailored to an individual kinematic system and the individual intended motion sequences thereof. For example, an error absolute value for a variable is output as the maximum error absolute value obtained while traveling along a trajectory T1. The absolute value may then be filed or stored with reference to the trajectory T1. In other variants, the maximum error absolute value is ascertained for all possible trajectories. In this case, it is not necessary to distinguish between error values of different trajectories during later operation, but an excessively pessimistically calculated error may be involved.

    [0077] FIG. 3 schematically depicts a multi-axis kinematic system 100 with a kinematic system coordinate system KCS referenced to the kinematic system and a world coordinate system WCS of the surroundings. There is provision for a first axis 1 as a rotary axis, which is situated at the end of a first segment L1, the alignment of which coincides with that of a vertical axis of the kinematic system coordinate system. 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, that forms the second axis 2. There is moreover provision for a lifting axis 3 on the third segment, that may be moved vertically. Finally, a last axis 4 is set up as a rotatable axis, that at the same time forms a flange having the dimension LF, for example.

    [0078] The user also predefines the following transducer errors as maximum error values:

    transducer error F1 axis 1: 1/10°
    transducer error F2 axis 2: 1/10°
    transducer error F4 axis 4: 1/10°
    transducer error F3 axis 3: 1 mm

    [0079] 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=Fa1+Fa2+Fa3

    [0080] where Fa1, Fa2, Fa3 are the error contributions of the axes 1, 2, 3, that all add up.

    [0081] The following derivation may be used for the error contribution Fa2:

    [0082] Let there be a position vector v, that is rotated about an angle α. An angle deviation of e.sub.α leads to a position error F=∥v−v′∥ of no more than

    [00001] 2 * sin ( e α 2 ) * .Math. v .Math. .

    If α is specified in degrees, it holds that

    [00002] F < 2 * sin ( e α 2 ) * .Math. v .Math. .

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

    [0083] In vector terms, the following is therefore obtained for Fa2 on the basis of the axis values a1 and a2:

    [00003] F a 2 = 2 * sin ( F 2 * π 360 ) * L 3 * ( .Math. "\[LeftBracketingBar]" sin ( a 1 + a 2 ) .Math. "\[RightBracketingBar]" .Math. "\[LeftBracketingBar]" cos ( a 1 + a 2 ) .Math. "\[RightBracketingBar]" 0 )

    [0084] The error contribution Fa1 is obtained analogously as:

    [00004] F a 1 = 2 * sin ( F 1 * π 360 ) * ( L 2 * ( .Math. "\[LeftBracketingBar]" sin ( a 1 ) .Math. "\[RightBracketingBar]" .Math. "\[LeftBracketingBar]" cos ( a 1 ) .Math. "\[RightBracketingBar]" 0 ) + L 3 * ( .Math. "\[LeftBracketingBar]" sin ( a 1 + a 2 ) .Math. "\[RightBracketingBar]" .Math. "\[LeftBracketingBar]" cos ( a 1 + a 2 ) .Math. "\[RightBracketingBar]" 0 ) )

    [0085] In this case, the superposition principle is used for multiple erroneous inputs to add the values in the outputs.

    [0086] The error contribution Fa3 of (linear) axis 3 is used directly in the z component of the total position error:

    [00005] Fa 3 = ( 0 0 F 3 )

    [0087] Additionally, an absolute value estimation may take place across all possible axis input values, that means that the following is obtained for the example indicated:

    [00006] .Math. Fpos .Math. .Math. Fa 1 .Math. + .Math. Fa 2 .Math. + .Math. Fa 3 .Math. 2 * sin ( 100 * π 360000 ) * ( 600 mm ) + 2 * sin ( 100 * π 360000 ) * ( 300 mm ) + 1 mm = 2.570796 mm

    [0088] Since 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 by the value Fpos. For higher accuracy requirements, the individual half-lengths may also be individually adapted in due consideration of the relevant axis attitudes.

    [0089] Additionally, a safety function is also set up that reliably monitors the orientation of the flange.

    [0090] Errors propagate from the error contributions F1, F2, F4 to the calculated orientation in an unaltered manner. In the worst case, the error Frot is therefore obtained for the given kinematic system values:

    [00007] Frot = 100 ° + 100 ° + 100 ° 1000 = 300 ° 1000

    [0091] 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 in the engineering as appropriate.

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

    [0093] The proposed method and the proposed input device are used to provide a user of a safety-monitored multi-axis kinematic system with a simple and less error-susceptible way of setting up compensations during safety monitoring that make allowance for sensor-related errors or axial run-on distances, and at the same time ensure only the minimum necessary compensation. Embodiments may advantageously be used for SCARA robots, a Cartesian portal, a roller picker, a swivel arm, arbitrary serial kinematic systems, or parallel kinematic systems. If an accuracy map is additionally used, the average compensation may be reduced further still.

    [0094] 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.

    [0095] 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.