Method and system for operating robot

By calculating the load value of the joint based on the sensor value during the motion caused by the robot joint driver and performing actions based on the load value to reduce the load value, the undesirable overload problem that may occur in robot operation in the prior art is solved, and the problem of undesirable overload that may occur in robot operation in the prior art is realized. Safer and efficient robot operation.

CN119421764APending Publication Date: 2025-02-11KUKA DEUT GMBH
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
CN202380049085.X
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2022-06-23
Filing Date
2023-06-09
Publication Date
2025-02-11

AI Technical Summary

Technical Problem

The prior art fails to effectively consider the load limits of different joints when operating the robot, resulting in undesirable overloads.

Method used

By determining the current load value and limit value based on the sensor value during motion caused by the robot joint driver, calculating the load value of the joint, and performing actions based on the load value to reduce the load value, or signaling the operator or application to do Respond.

Benefits of technology

Effectively avoid or reduce overload of robot joints, ensuring that robot operation is closer to its allowable load limit, thereby improving operating performance and extending the service life of the robot.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119421764A_ABST
    Figure CN119421764A_ABST
Patent Text Reader

Abstract

In order to operate a robot (1) having a plurality of joints (11, 12, 15), during a robot movement caused by a joint drive (12.1), for each of two or more, in particular all of the joints: determining (S10) a current one-dimensional or multi-dimensional load value for the respective joint on the basis of at least one sensor value; and determining (S20) a one-dimensional or multi-dimensional load value of the respective joint based on the current load value and a predetermined one-dimensional or multi-dimensional limit value of the respective joint; wherein an action of the robot is performed on the basis of the load value in order to reduce one or more components of the load value, and / or a load situation of the robot is signaled and / or stored on the basis of the load value.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The invention relates to a method and a system for operating a robot and to a computer program or a computer program product for executing the method. Background Art

[0002] A robot has various components, such as kinematic structures, drive motors, transmissions, brakes, bearings, sensors, etc., each of which has different load limits with regard to different loads and is also loaded differently depending on the current posture and movement of the robot.

[0003] Up to now, only very roughly maximum permissible loads have been considered, which are predefined for the most unfavorable posture, for example an extended or overhanging robot arm. Summary of the invention

[0004] The object of the present invention is to improve the operation of a robot.

[0005] The object of the invention is achieved by a method having the features of claim 1. Claims 13 and 14 protect a system or a computer program or a computer program product for carrying out the method described herein. Preferred developments are given by the dependent claims.

[0006] According to one embodiment of the present invention, the robot has multiple joints, preferably at least three, at least six in one embodiment, and at least seven in an extended scheme. In one embodiment, they are revolute joints, which are adjustable or adjusted by preferably electric joint drives to cause movement of the robot. In an extended scheme, the robot has a robot arm. In one embodiment, the robot is a robot arm.

[0007] According to one embodiment of the present invention, during the robot movement caused by the joint drive of the robot, for two or more, preferably all joints, respectively:

[0008] - based on the (measured) values ​​of at least one sensor, in one embodiment based on the (measured) values ​​of a plurality of sensors, determining a current one-dimensional or multi-dimensional load value for the respective joint or in a joint-specific manner as well as

[0009] Based on the current load value and the one-dimensional or multi-dimensional limit value predefined for the respective joint, in one embodiment, a one-dimensional or multi-dimensional load value is determined for the respective joint or joint-specifically based on the difference between the limit value and the load value for the respective joint.

[0010] For multidimensional load values, limit values ​​and load values, the components or dimensions of the load values, limit values ​​and load values ​​are related to each other in one embodiment, preferably so that the component j of the load value of the joint i is determined based on the corresponding dimension or component j of the load value of the joint i and the corresponding dimension or component j of the limit value of the joint i, or expressed in a general form as follows:

[0011] B(i,j)=B(L(i,j),G(i,j)), i=1,…number of joints; j=1,…number of dimensions or components of load value, limit value and load value

[0012] in,

[0013] B(i, j): component j of the load value of joint i;

[0014] L(i, j): component j of the load magnitude of joint i;

[0015] G(i, j): component j of the limit value of joint i;

[0016] In one embodiment, different loads, such as torque and speed, can be taken into account by means of a plurality of components.

[0017] In one embodiment, the limit value is (in each case) predefined based on the permissible loads of one or more components of the robot, in particular at least one kinematic structure, a drive motor, a bearing, a sensor, a transmission and / or at least one brake.

[0018] One embodiment of the invention is based on the idea that, based on the permissible loads of the various components, limit values ​​specific to the joint or axis are predefined and compared with the current values. In this way, it is possible to determine how far the load on the joint or axis currently lies from its permissible maximum value and to react in a favorable manner thereto in order to influence the operation of the robot, preferably to avoid undesired overloading.

[0019] In one embodiment, the load magnitude and / or load value of the joint (respectively) depends on the torque at the (corresponding) joint, in particular a component of the load value can account for such torque. Thus, in one embodiment, the mechanical load can be advantageously taken into account.

[0020] Additionally or alternatively, in one embodiment, the load magnitude and / or load value of the joint (respectively) depends on the speed at the (corresponding) joint, in particular a component of the load value can account for such speed. Thus, in one embodiment, dynamic loads can be advantageously taken into account.

[0021] In one embodiment, the load magnitude and / or load value of the joint depends not only on the torque at the (corresponding) joint, but also on the speed at the (corresponding) joint. Accordingly, in one embodiment, the load magnitude and / or load value, in particular the component of the load magnitude or load value, can depend on the product of torque and (rotational) speed, in particular the power, in particular express this product. Thus, in one embodiment, wear can be advantageously taken into account.

[0022] In one embodiment, as described above, the multidimensional load value can have: a component that depends on the torque at the (corresponding) joint, in particular a component that describes the torque; and / or a component that depends on the velocity at the (corresponding) joint, in particular a component that describes the velocity; and / or a component that depends on the product of the torque at the (corresponding) joint and the velocity at the (corresponding) joint, in particular a component that describes the product. As a result, different loads can be advantageously considered together.

[0023] In one embodiment, the torque or speed at a joint includes the torque or speed between two rotatable limbs of the joint relative to each other, in particular the torque or speed of the joint drive, in particular the motor and / or transmission device of the joint, and / or the torque or speed between two structural limbs of the joint relative to each other.

[0024] In one embodiment, at least one component of the load value of the joint is measured by a corresponding sensor, for example, a torque is measured by a torque sensor and / or a (rotational) speed is measured by a (rotational) speed sensor, wherein, in an extension, the measured values ​​are further processed, for example by filtering, averaging, smoothing, scaling, etc. Thus, in one embodiment, the load value or load value can be determined (more) accurately.

[0025] In one embodiment, at least one component of the load value of the joint is determined based on a mathematical model or a monitor, for example, the torque is determined by the model or the monitor based on measured attitude, speed, temperature, current and / or voltage of the drive motor, etc. Thus, in one embodiment, existing sensors can be advantageously used and / or load values ​​or load values ​​that cannot be measured directly can be taken into account.

[0026] According to one embodiment of the present invention, based on the determined load value, the robot's action is performed to reduce one or more components of the load value, or the robot's action is performed as a condition or in such a way that the component(s) are reduced (through the action).

[0027] One embodiment of the invention is therefore based on the idea of ​​performing different actions depending on how far the loads in the individual joints of the robot are from their permitted limit values, thereby preferably avoiding undesired overloading of the robot as much as possible. In one embodiment, in this way, the robot can get closer to its joint- and component-specific permitted load limits and thus improve its operation.

[0028] In addition or alternatively to reducing the load value by an action of the robot that is determined or pre-set based on the load value, according to one embodiment of the present invention, the load situation of the robot is signaled based on the load value, in one embodiment optically and / or acoustically to an operator who in one embodiment collaborates with the robot, and / or data-technically to an application, in an extended embodiment, the application responds thereto by causing the robot to perform an application-specific (pre-set) action, in one embodiment an action in which the load value temporarily exceeds a pre-set limit value.

[0029] Thus, when the load in a single joint approaches a pre-set limit value or exceeds it, the user can react in an application-specific and thus particularly advantageous manner, for example the user or the application: allows this exceeding or withstands a corresponding short-term overload of the robot at least for a short time in order to achieve higher-level goals of the application; flexibly switches the robot to avoid overloads caused by the joint drive against the environment; or through other actions.

[0030] In addition or alternatively to signaling the load condition of the robot, and in addition or alternatively to the aforementioned reduction of the load value by a movement of the robot determined or pre-set based on the load value, according to one embodiment of the present invention, the load condition of the robot is stored based on the load value, and in an extended scheme, after completing at least one working process of the robot, in one embodiment after completing multiple process cycles (during which the load value has been determined), the stored load condition of the robot is used for analysis, in particular for damage and / or wear analysis.

[0031] This is based on the idea of ​​recording during operation whether (how) components or joints approached or possibly exceeded their respective load limits, and when and / or how often and / or how many times. This can be used advantageously, in particular, for predictive maintenance, for identifying damage to the robot and / or for planning future work processes.

[0032] In one embodiment, when a component of the load value (which is also referred to as the first component without loss of generality) is within a predetermined range (which is also referred to as the first range without loss of generality), an action of the robot is performed (which is also referred to as the first action without loss of generality), and in particular one of the actions described herein, in particular deceleration, evasive movement, etc., and / or may have, in particular another action, which in one embodiment is an action for reducing the (first) component of the load value.

[0033] In an extension of this embodiment, when the component or the first component is within another predetermined range (which is also referred to as the second range without loss of generality), another action of the robot is performed (which is also referred to as the second action without loss of generality), and in particular (another) one of the actions described herein, in particular deceleration, avoidance, etc., and / or having, in particular, another action, which in one embodiment is another action of the component or the first component for reducing the load value.

[0034] In one embodiment, thus, disturbances or interventions in the working operation of the robot can be advantageously reduced.

[0035] Additionally or alternatively, in an extension of the above embodiment, when another component of the load value (which is also referred to as the second component without loss of generality) is within a predetermined range, in one embodiment, within the predetermined first range or another predetermined range, an action of the robot is performed. The action may in particular include, in particular, one of the actions described herein, in particular deceleration, evasive movement, etc., and / or another action. The action may be an action to reduce the other component or the second component, in one embodiment, the action is the first action, in another embodiment, the action is another action or an action different from the first action, which is also referred to as the second action without loss of generality.

[0036] Different load situations can thereby be handled particularly advantageously.

[0037] In one embodiment, an action or a first action and / or another action or a second action are pre-set by an application, the load situation of the robot is signaled to the application, and the application responds to this by causing the robot to perform an action or an application-specific action, wherein in one embodiment, the action is selected from a plurality of pre-set actions based on user input.

[0038] As a result, the robot can react in a particularly suitable manner to the load situation depending on the application (program), or the user can preset the signaled load situation according to the application or the respective particularly suitable robot reaction in the application by corresponding input or configuration of the application or (multiple) actions, so that a particularly advantageous operation of the robot can be achieved. As a result, in one embodiment, the robot reacts specifically to different loads or load situations, and thus can advantageously avoid or reduce overload in a targeted manner. In particular, the robot can react in different applications or when executing different applications not only in an application (program)-specific manner but also in a load value component-specific manner, and thus in one embodiment, overload can be avoided or reduced particularly well, wherein, as explained elsewhere, overload can be tolerated in an application-specific manner.

[0039] In an extension of the above-mentioned embodiment, the one component or the first component and the other component or the second component can be two components of the load value of the same joint. Thus, the robot can, for example, react differently in order to avoid or reduce overloads caused by the torque or rotational speed of the joint depending on which component of the corresponding load value is closer to the maximum permissible value.

[0040] In another extension of the above embodiment, the one component or the first component and the other component or the second component can also be components of load values ​​of different joints. Thus, the robot can, for example, react differently in order to avoid or reduce an overload caused by the torque of a joint or an overload caused by the torque or rotational speed of another joint, depending on which component of the corresponding load value is closer to the maximum permissible value.

[0041] In one embodiment, the load value of the joint has one or more current components or instantaneous components (respectively). This is particularly useful for reducing the load value in the robot operation by determining or presetting the robot action based on these current components, in particular avoiding point overloads caused by peak loads.

[0042] Additionally or alternatively, in one embodiment, the load value of the joint has (in each case) one or more single or multiple time-integrated components. This is particularly advantageous for performing an analysis and / or signaling of the load of the robot after the execution of at least one working process, in one embodiment after the execution of a plurality of process cycles, since the accumulated load of the robot can thereby be advantageously taken into account.

[0043] However, a robot movement determined or predefined based on this time-integral component can also reduce the load value in the robot operation, or the current component can also be signaled, for example so that a user or an application can already intervene during operation, or be stored, for example so that a maximum value can be used for analysis.

[0044] In one embodiment, the time-integrated component is determined at predetermined time intervals, in one embodiment starting from a predetermined point in time (e.g. commissioning, maintenance, etc.); and / or at a predetermined duration, in one embodiment a predetermined duration up to a predetermined duration at the current or instantaneous point in time, for example within the last 1, 5 or 10 seconds, etc. Additionally or alternatively, in one embodiment, in the time integration process for forming the time-integrated component, only current load values ​​or load value components are taken into account, which have at least one predetermined minimum value, which in one embodiment is predetermined based on a corresponding limit value or a corresponding limit value component. As a result, in one embodiment, cumulative loads, in particular acute overloads (akuten) caused by instantaneous peak loads, can be taken into account particularly well. ), taking into account the cumulative overload caused by the corresponding load integration (Last load).

[0045] In one embodiment, a predetermined speed of the robot, in particular a speed predefined in the work program, is reduced, in particular when traveling over a trajectory that was predefined before the current load value was determined or that was predefined by the work program, in order to reduce at least one component of the load value. In one embodiment, the predefined speed is a trajectory speed or a speed that is specific to a reference object, in particular an end effector and / or a TCP of the robot.

[0046] In one embodiment, by carrying out a deceleration or a movement in this way, the load of the robot or a corresponding component of the load value can be reduced in a simple and / or reliable manner.

[0047] In one embodiment, the robot continues to follow the predefined trajectory during the deceleration process, preferably with its robot-specific reference object (“following the trajectory”). Additionally or alternatively, the robot stops during the deceleration process (if necessary).

[0048] In one embodiment, the predefined trajectory can then be advantageously continued. Additionally or alternatively, in one embodiment, a particularly safe behavior of the robot can be achieved thereby.

[0049] In one embodiment, in addition or as an alternative to the deceleration, in a further development, after the deceleration, the robot also performs an evasive movement dependent on the load value in order to reduce at least one component of the load value. In a further development, the robot deviates during this evasive movement, preferably with its robot-specific reference object, from a trajectory that was predefined before the current load value was determined or by the operating program.

[0050] In one specific embodiment, an (imminent) overload can be reacted to or avoided or eliminated in a particularly advantageous manner by such an evasive maneuver.

[0051] In this case, deceleration and evasive maneuvers can be combined with one another particularly advantageously in the following manner: In one embodiment, the robot is first braked, preferably faithfully to the trajectory, and if necessary brought to a standstill. (Only) if this is not sufficient to reduce the load value sufficiently, the robot performs an evasive maneuver, in which, in one embodiment, the robot deviates from the trajectory during the evasive maneuver.

[0052] In this way, in one embodiment, a reaction can be effected in a cascaded or step-by-step manner in order to sufficiently reduce the load.

[0053] In one embodiment, the evasive movement comprises a movement of the robot antiparallel to the projection, in particular the transformation, of the load value to be reduced into the Cartesian workspace of the robot, and can in particular be such a movement. As explained, (the components of) the load value correspond to the load on the joint plane and can be similar to the known forward transformation Transformation from the joint space of the robot to the Cartesian workspace. Therefore, the projection, in particular transformation, of the load value (component) to be reduced or the load value (component) to be reduced by the action, in particular the evasive movement of the robot into the Cartesian workspace of the robot shows the generalized direction (verallgemeinerteRichtung) in the Cartesian workspace in which the load (value) increases most rapidly, so that the antiparallel evasive movement reduces the load (value) particularly advantageously. In one embodiment, the Cartesian workspace of the robot in the sense of the present invention includes: a space that is specific to the position of a reference object of the robot, in particular the end effector or TCP of the robot, and / or a space that is specific to the direction of the reference object of the robot, in particular one-dimensional, two-dimensional or three-dimensional, wherein of course DH descriptions (Denavit-Hartenberg-Beschreibungen), quaternion descriptions (Quaterionen-Beschreibungen) descriptions, etc. can also be understood as the Cartesian workspace of the robot in the sense of the present invention.

[0054] In one embodiment, during the evasive movement, a robot-specific reference object, preferably an end effector or TCP, of the robot further maintains a position that is predefined by a predefined trajectory, in one embodiment one of the above-mentioned predefined trajectories, in one embodiment a trajectory that is predefined before the current load value is determined or by a working program, wherein in a further development, the orientation of the robot-specific reference object predefined by the trajectory is abandoned during the evasive movement. Thus, in one embodiment, the robot-specific reference object maintains the predefined position during the evasive movement, but is twisted to avoid an overload situation. As a result, in one embodiment, the working process is (less) disturbed.

[0055] In one embodiment, during the evasive movement, a robot-specific reference object, preferably an end effector or a TCP of the robot further maintains an orientation that is predefined by a predefined trajectory, in one embodiment one of the above-mentioned predefined trajectories, in one embodiment a trajectory that is predefined before the current load value is determined or by a working program, wherein in a further development, the position of the robot-specific reference object predefined by the trajectory is abandoned during the evasive movement. Thus, in one embodiment, the robot-specific reference object maintains a predefined orientation during the evasive movement, but is moved to avoid an overload situation. As a result, the impact direction of the robot end effector or the robot tool can be advantageously maintained and the working process can therefore be advantageously continued.

[0056] In one embodiment, the two embodiments are combined as follows: In one embodiment, the kinematic redundancy of the robot is utilized and during the evasive movement, a robot-specific reference object, preferably the end effector or TCP of the robot continues to maintain a position and orientation predetermined by a predetermined trajectory, in one embodiment, one of the above-mentioned predetermined trajectories, in one embodiment, a trajectory predetermined before the current load value is determined or by a work program. For this reason, in one embodiment, the work process can thus be advantageously continued.

[0057] Therefore, the following embodiments are particularly preferred:

[0058] a) when passing a predetermined trajectory before determining the current load value, reducing a predetermined speed of the robot (for the passing) in order to reduce at least one component of the load value, in one embodiment by causing the robot to further follow the predetermined trajectory and / or stop during deceleration;

[0059] b) the robot performs an evasive movement dependent on the load value, in one embodiment after the deceleration or according to an independent aspect, in order to reduce at least one component of the load value. In one embodiment, the robot performs an evasive movement antiparallel to a projection of the load value to be reduced in the Cartesian workspace of the robot;

[0060] b1) during the evasive movement, the robot-specific reference object further maintains a position predetermined by a trajectory that was predetermined before the current load value was determined, wherein the orientation of the robot-specific reference object predetermined by the trajectory is abandoned; or

[0061] b2) during the evasive movement, the robot-specific reference object further maintains an orientation predetermined by a trajectory that was predetermined before the current load value was determined, wherein the position of the robot-specific reference object predetermined by the trajectory is abandoned; or

[0062] b3) During the evasive movement, the robot's robot-specific reference further maintains a position and orientation predetermined by a trajectory that was predetermined before the current load value was determined, by utilizing the robot's kinematic redundancy.

[0063] In one embodiment, preferably after executing a) and / or b) above, in particular after executing b1), b2) or b3), an emergency stop of the robot is performed, wherein in one embodiment the brakes of the robot are closed. Thus, in one embodiment, a favorable end state can be achieved.

[0064] According to one embodiment of the present invention, a system for operating a robot is designed in particular in terms of hardware and / or software technology, in particular in terms of programming technology, to carry out the method described herein, and / or comprises:

[0065] - means for determining, for two or more, in particular all, joints, one-dimensional or multi-dimensional current load values ​​of the respective joints based on at least one sensor value during a movement of the robot caused by the joint drives; and

[0066] - means for determining, during a movement of the robot caused by the joint drives, one-dimensional or multi-dimensional load values ​​for the respective joints for two or more, in particular all, joints based on current load magnitude values ​​and pre-set one-dimensional or multi-dimensional limit values ​​for the respective joints; and

[0067] - means for causing the robot to perform an action based on the load value to reduce one or more components of the load value, and / or

[0068] - means for signalling and / or storing a loading situation of the robot based on the loading value.

[0069] In one embodiment, the system or apparatus thereof comprises:

[0070] - means for reducing a predetermined speed of the robot to reduce at least one component of the load value, in particular when the robot passes a trajectory predetermined before determining the current load value, in particular to make the robot further follow the predetermined trajectory and / or stop when the speed is reduced; and / or

[0071] - a device for reducing at least one component of the load value by or with the robot performing an evasive movement dependent on the load value, in particular after the speed reduction, in particular causing the robot to deviate from a trajectory preset before the current load value is determined during the evasive movement and / or causing the evasive movement to include a movement of the robot antiparallel to a projection of the load value to be reduced into the Cartesian workspace of the robot and / or causing a robot-specific reference object of the robot to further maintain a position and / or orientation preset according to the preset trajectory during the evasive movement; and / or

[0072] - means for signalling the load situation of the robot to the application, which in response causes the robot to perform application-specific actions, in particular actions causing the load value to temporarily exceed a predetermined limit value; and / or

[0073] - a device for performing an analysis based on stored load situations of the robot after the execution of at least one working process of the robot, in particular a plurality of process cycles; and / or

[0074] - A device for executing an action of the robot, in particular an action of reducing a component of the load value, when a component of the load value is within a predetermined range, and for executing another action of the robot, in particular another action of reducing the component of the load value, when the component is within another predetermined range; and / or a device for executing an action of the robot, in particular an action of reducing the other component, and / or another action, when another component of the load value is within a predetermined range, in particular the one predetermined range or the other predetermined range.

[0075] The system and / or device within the meaning of the present invention can be designed in hardware technology and / or software technology, in particular, it has: at least one processing unit, in particular a digital processing unit, in particular a microprocessor unit (CPU), a graphics card (GPU), etc., which is preferably connected to the storage system and / or the bus system for data or signals; and / or one or more programs or program modules. The processing unit can be designed to: process the instructions of the program implemented as a program stored in the storage system; to collect input signals from the data bus; and / or to send output signals to the data bus. The storage system can have one or more, in particular different storage media, in particular optical, magnetic, solid and / or other non-volatile media. The program can be implemented so that it can embody or execute the method described herein, so that the processing unit can perform the steps of the method and thus can in particular operate the robot. In one embodiment, the computer program product can have, in particular, a computer-readable, non-volatile storage medium for storing programs or instructions or a storage medium on which a program is stored or on which instructions are stored. In one embodiment, the execution of the program or instructions causes a system or controller, in particular a computer or a display of multiple computers, to execute the program or instructions, so that the system or controller, in particular one or more computers, executes the method described herein or one or more steps thereof, or the program or instructions are designed for this purpose.

[0076] In one embodiment, one or more, in particular all, steps of the method are performed completely or partially automatically, in particular by the system or a device thereof.

[0077] In one specific embodiment, the system comprises a robot and / or an application.

[0078] The invention is particularly suitable for the operation of robots which cooperate with at least one person during the movements driven by the joint drives, since unforeseen loads often occur here, for example due to the person exerting unexpected forces on the robot. BRIEF DESCRIPTION OF THE DRAWINGS

[0079] Further advantages and features are given by the dependent claims and the embodiments. To this end, a partial schematic diagram is shown:

[0080] Figure 1 : A system for operating a robot according to an embodiment of the present invention; and

[0081] Figure 2 : A method for operating a robot according to one embodiment of the present invention. DETAILED DESCRIPTION

[0082] Figure 1A system for operating a robot 1 is shown, which has a plurality of joints, wherein a turntable joint 11, a hand joint 15, a rocker joint 12, a rocker joint drive 12.1 and a sensor unit 12.2 are exemplarily indicated by reference numerals, the sensor unit comprising a torque sensor and a rotation speed sensor. The rotation speeds of the joints or drives are indicated by n1, ..., n6, the controller is indicated by reference numeral 2, and the end effector of the robot is indicated by reference numeral 17.

[0083] Figure 2 A method for operating a robot 1 performed by a controller 2 or a system according to an embodiment of the present invention is shown.

[0084] In step S10, while the robot 1 is traveling along a pre-set trajectory, based on the sensor value (in Figure 1 2) is shown as an example in FIG. 1 , and one or more current load values ​​are determined for each joint. For example, for each joint i=1, ..., 7, the current torque T is determined. i , current speed N i and the current power P i As the three-dimensional load value [T i ,N i ,P i ].

[0085] In step S20, based on these load values ​​and the preset three-dimensional limit values ​​[TM i ,NM i ,PM i ], determine the three-dimensional load value of the corresponding joint i [BT i ,BN i ,BP i ]. This can in particular be the difference between the current value and the limit value. Additionally or alternatively, a time integral can also be used.

[0086] In step S30, based on these load values, the load situation of the robot is signaled and / or stored before the method or the controller 2 returns to step S10. The application can react to this signal in a specific way. Additionally or alternatively, damage situations can be analyzed based on the stored load values.

[0087] Alternatively or additionally or in parallel, an action of the robot is performed based on the load value in order to reduce one or more components of the load value.

[0088] To this end, in step S40, it is checked whether there is a load value within a preset range, such as [BT i ,BN i ,BP i] is at least 0.9, i.e., at least 90% of the permissible load is reached for the corresponding joint, for example, at least 90% of the permissible torque of the joint, the permissible rotational speed of the joint or the permissible power of the joint is reached. If not (S40: "N"), the method or controller 2 returns to step S10.

[0089] Otherwise ( S40 : “Y”), in step S50 , the speed predefined for traveling along the trajectory is reduced in a manner faithful to the trajectory, if necessary until the robot stops on the predefined trajectory.

[0090] If this is sufficient that any one load value no longer meets the criterion (S60: "Y"), the method or the controller 2 returns to step S10.

[0091] Otherwise ( S60 : “N”), the robot 1 performs an evasive motion in step S70 .

[0092] If this is sufficient that any load value no longer meets the criteria (S80: "Y"), the method or the controller 2 also returns to step S10. Otherwise (S80: "N"), an emergency stop of the robot is performed in step S90.

[0093] When returning to step S10 , the reduced speed is increased again to a predefined speed if necessary (step S55 ) and / or the predefined trajectory is returned again by reversing the evasive maneuver (step S75 ).

[0094] It can be seen that acute overloading of individual components in the axis plane or joint plane can advantageously be avoided here, which could, for example, result from the robot being pulled while traversing the trajectory, leading to unintentional exceeding of permissible torques or rotational speeds in individual joints.

[0095] For a more compact representation, steps S30 and S40-S90 are shown in Figure 2 Of course, step S30 or one or more of steps S40-S90 may be omitted. Similarly, the application may implement one or more of steps S40-S90 in step S30.

[0096] The following will explain various aspects of the present invention, but is not limited to the above Figure 1 , 2 The examples, especially their details:

[0097] The joint-specific load limits are compared with the current state of the robot in a number of calculation cycles using stored load capacity tables of loaded robot components provided by the manufacturer. This allows the current load situation to be determined continuously and in real time and enables signaling, which allows a response to an undesired overload situation before the robot switches off automatically.

[0098] Examples of robot components for which load limits can be used to set limit values ​​are, in particular, motors, transmissions, brakes, torque sensors, bearings and structural components or articulated bodies.

[0099] Monitoring of the load situation can generate warnings or signal notifications in the application program so that an overload situation can be prevented or, if necessary, an overload situation can be deliberately entered, whereby the service life of the robot is intentionally shortened.

[0100] Additionally or alternatively, the overload may be recorded in a log file for later review.

[0101] With the aid of knowledge of the load conditions, the robot can advantageously be brought to its mechanical limits, which are usually not always clearly specified in the robot's documentation.

[0102] The axis- or joint-specific configuration or storage of limit values ​​or nominal “maximum ratings” can be carried out in vector form just like the load values ​​or load values.

[0103] Advantageously, unexpected load situations can be taken into account, such as may occur in particular in human-robot collaborative / cooperative applications, for example when a person pulls on the robot while the robot is executing a predefined path movement.

[0104] The load value can have, in particular, the following components:

[0105] a) Acute or transient loads. In one embodiment, such emergency situations are preferably signaled to the application and / or digitally recorded in a preferably permanent file;

[0106] b) Overall load: Even if a robot is operated for too long below its load limit, its service life is reduced. Therefore, in one embodiment, the invention also provides an indication of the components that are subject to the greatest wear in continuous operation, preferably without triggering an acute situation. To this end, a load integral is formed for all joints and provided to the user for evaluation. This can be achieved in particular as follows: for each joint, a percentage limit is defined and stored with respect to a stored static upper limit, and the joint is observed below this limit, for example 90% of the maximum permissible load. Starting from this limit, the current load will contribute to the integral formation. Here, the contribution can also be nonlinear, for example: M is the current torque of the joint and Mx is the boundary value saved for this. Then, in one embodiment, the term (|M|-80%*Mx) is used 2 A time integral is formed, but it will contribute to the integral only when the value of M is also greater than 90%. That is, B = ∫ [(|M|-0,9·Mx) 2 ·(|M|>Mx·0,9?)]dt. This integral increases during operation and is a measure of the accumulated wear. By calculating B / t and normalizing B by t, that is, dividing the load integral by the acquisition time, a stress factor S for this component can be obtained, with which the user can work particularly advantageously. In one embodiment, both variables (B and S) are provided to the application developer within the controller of each joint. In this way, the user can quantitatively express the mechanical stress he brings to the robot. B and S are preferably vectors about the parameters to be observed. If B(tx) of the past time (existing x seconds ago) is subtracted from the current B(t), an image of the load situation from time tx to t is obtained. In this way, load time periods long ago can be advantageously blanked out, and (B(t)-B(tx)) / x provides a favorable measure of the stress situation of the robot in the last x seconds. With these tools, it is easy to find at which points in the program execution it may be necessary to "slow down" the movement. ” to extend the service life of the robot.

[0107] In one embodiment, an acute overload condition implements a callback by calling a function that can be defined by the user or programmer to implement a customized behavior or immediately send an interrupt signal when it is recognized in the application. The application can then respond to it in real time, quickly and individually.

[0108] One advantage is that the load situations are provided in the form of a data structure that can be read by the application: All current vectors contain the current load percentage for each axis or joint. From these vectors it is possible to read directly which values ​​are critical in the axis or joint plane, such as torque, speed or power. Based on these axis values ​​or joint values, the vectors can also be transformed forward into Cartesian space, from which the user or programmer of the application can easily recognize: in the event of an impending load situation, what countermeasures should ideally be taken in order to avoid an overload situation in a Cartesian manner. In this case, the load magnitude vector Points in the Cartesian direction in which the load increases the most. For example, for a load case of torque, the vector of the Cartesian forward transformation points in the direction in which the current axis or joint load will become greater. Its value can be calculated in particular as a percentage of the maximum load. If a pull is applied in this direction on the end effector of the robot, the load will continue to increase. Conversely, if pressure is applied in the opposite direction on the end effector, the situation can be alleviated. With this type of vector, application developers can design their application in such a way that the robot independently avoids overload situations where it is allowed. The vector with the load value as a percentage of the speed Cartesian points in the direction in which the robot must move further and faster in order to bring the most heavily loaded axis or joint further to the limit. On the other hand, a deceleration in the opposite direction will alleviate the situation optimally. Here, application developers also have a good way to prevent overloading of the robot. The load cases in question here can occur in particular surprisingly due to externally applied forces, for example due to a person accidentally pulling on the robot, etc. The load vector then indicates exactly in the axis or joint plane which axis or joint is how far from the nominal limit, and the Cartesian transformation of this vector indicates in which direction the force is absorbed or unloaded in the opposite direction with respect to the end effector or TCP. Application developers can thus change the trajectory online to protect the robot.

[0109] If an impending overload condition is detected, at least one of the following countermeasures is preferably performed:

[0110] a) Emergency stop: Under braking, the robot interrupts its work and switches to emergency stop.

[0111] b) Trajectory-faithful overload avoidance: The controller is programmed to automatically reduce the speed and aim to prevent an overload situation without leaving the programmed trajectory. If an overload cannot be avoided, the robot will eventually stop without first triggering an emergency stop. If the situation is resolved (e.g. with the support of external human intervention or mechanical unloading or programmed actions), the robot continues to work while observing the limit values. Here, the robot can also reach the target speed again. Preferably, the speed is used as a control variable here to avoid overload situations. If the overload situation is still not resolved after stopping, it is possible to react in other ways without triggering an emergency stop. Only when all configured measures have failed is the robot emergency stopped by the lower-level safety system (unterlagerten Sicherheit).

[0112] c) Directly evasive overload avoidance: The controller is programmed to automatically evade the load and aims to thereby avoid an overload situation. Here, the robot independently evades in the direction opposite to the load, which is given by the vector calculated above. This mode can also be used when stationary and can be combined with mode b) "Trajectory-faithful overload avoidance". The robot then attempts to drive faithfully to the trajectory for as long as possible and stops if necessary, even if this does not help to avoid the load. Here, after the robot has been braked to a stop along the trajectory faithfully, it finally gives way (nachgeben) precisely in the direction of the load. In other words, it withdraws at the last moment to avoid overloading.

[0113] d) Trajectory-faithful avoidance with defined redundancy: The controller is programmed to automatically avoid loads and aims thereby to avoid overload situations.

[0114] e) User-specific behavior: The controller can be programmed to signal to the user program that the robot is (possibly) overloaded, and the application itself can implement a handling strategy. This approach offers the greatest flexibility, wherein brief overload situations can also be deliberately tolerated if necessary, even if the robot needs to be repaired more quickly as a result. Nevertheless, this is still the most advantageous solution. This can be particularly advantageous, for example, in rehabilitation, where, for example, the robot guides the limbs of a patient who, during treatment, suffers a spasm and pulls on the machine with great force. In one embodiment, the robot can simply follow the patient without causing harm and without causing an emergency situation. In this case, the application can perform evasive maneuvers without overloading the patient, because the application-specific implementation of the evasive strategy is precisely coordinated to this setting, i.e., is aware of this situation.

[0115] f) The controller records the overload condition to an internal log file which can be read by the manufacturer. The manufacturer can therefore also identify or confirm the above condition c and this can avoid unreasonable maintenance requirements etc.

[0116] Although exemplary embodiments have been described in the foregoing description, it should be noted that many variations are possible. It should also be noted that the exemplary embodiments are merely examples and should not constitute any limitation on the scope of protection, application and configuration. On the contrary, the foregoing description can provide a person skilled in the art with a teaching for converting at least one exemplary embodiment, wherein various changes, in particular with respect to the functions and arrangements of the components, can be achieved without departing from the scope of protection of the present invention, such as can be obtained according to the claims and their equivalent feature combinations.

[0117] Reference numerals list

[0118] 1. Robot

[0119] 2 Controller

[0120] 11, 12, 15 joints

[0121] 12.1 Joint Driver

[0122] 12.2 Sensor Unit

[0123] 17 End Effector

[0124] n1,…,n6 rotational speeds.

Claims

1. A method for operating a robot (1), the robot having a plurality of joints (11, 12, 15), wherein: During a movement of the robot caused by the joint drive (12.1), for two or more, in particular all, joints, respectively: - based on at least one sensor value, determining a current load value of one or more dimensions of the corresponding joint (S10); as well as - based on the current load value and the one-dimensional or multi-dimensional limit value preset for the corresponding joint, determining the one-dimensional or multi-dimensional load value of the corresponding joint (S20); Wherein, the robot's action is performed based on the load value to reduce one or more components of the load value, and / or the load condition of the robot is signaled and / or stored based on the load value.

2. The method according to claim 1, characterized in that: In particular, when a trajectory which is predefined before the current load value is determined is exceeded, a predefined speed of the robot is reduced in order to reduce at least one component of the load value.

3. The method according to the preceding claim, characterized in that The robot continues the pre-set trajectory and / or stops during the speed reduction process.

4. The method according to any one of the preceding claims, characterized in that In particular, after the speed reduction, the robot executes an evasive movement dependent on the load value in order to reduce at least one component of the load value, in particular to deviate from a trajectory that was preset before the current load value was determined.

5. A method according to the preceding claim, characterised in that The evasive movement comprises a movement of the robot antiparallel to a projection from the load value to be reduced into the Cartesian workspace of the robot.

6. The method according to claim 4 or 5, characterized in that: During the evasive maneuver, the robot-specific reference object of the robot continues to maintain a position and / or orientation which was predetermined by means of a trajectory which was predetermined before the current load value was determined.

7. The method according to any one of the preceding claims, characterized in that The load situation of the robot is signaled to the application, which in response causes the robot to execute application-specific actions.

8. The method according to any one of the preceding claims, characterized in that When a component of the load value is within a predetermined range, performing an action of the robot, in particular an action for reducing the component of the load value, and - when the one component is within another predetermined range, performing another action of the robot, in particular another action for reducing the one component of the load value; and / or - When the other component of the load value is within a predetermined range, in particular within the predetermined range or within the other predetermined range, performing an action of the robot, in particular an action for reducing the other component and / or another action.

9. The method according to the two preceding claims, characterized in that At least one action is pre-set by the application, and is particularly selected from a plurality of pre-set actions based on user input.

10. The method according to any one of the preceding claims, characterized in that After execution of at least one working process of the robot, in particular a plurality of process cycles, an analysis is performed using the stored load profile of the robot.

11. The method according to any one of the preceding claims, characterized in that The load magnitude and / or load value of a joint depends on the torque and / or the speed at the joint and / or has at least one current component and / or at least one time-integrated component.

12. The method according to any one of the preceding claims, characterized in that The robot cooperates with at least one person during the movement caused by the joint drives.

13. A system for operating a robot (1), the robot having a plurality of joints (11, 12, 15), wherein: The system is designed to perform the method according to any of the preceding claims and / or comprises: - means for determining, during a movement of the robot caused by the joint drives, for two or more, in particular all, joints, one-dimensional or multi-dimensional current load values ​​of the respective joints based on at least one sensor value; and - means for determining, during a movement of the robot caused by a joint drive, one-dimensional or multi-dimensional load values ​​for the respective joints for the two or more, in particular all, joints based on the current load magnitude and pre-set one-dimensional or multi-dimensional limit values ​​for the respective joints; and - means for causing the robot to perform an action based on the load value to reduce one or more components of the load value, and / or means for signalling and / or storing the load condition of the robot based on the load value.

14. A computer program or a computer program product, wherein: The computer program or computer program product comprises instructions, in particular stored on a computer-readable and / or non-volatile storage medium, which, when executed by one or more computers or a system according to claim 13, cause the one or more computers or the system to perform a method according to any one of claims 1 to 12.

Citation Information

Patent Citations

  • Articulated robot and its control program

    CN101479081A

  • Robot control device

    CN108326851A

  • Robot device, load absorbing device, and load absorbing method

    JP2007144620A

  • Robot control method, robot control device, and robot control system

    US20130245829A1

  • Safety system for industrial robot

    US20170057095A1